rich:pickList标签的使用

来源:互联网 发布:软件图标更换器 编辑:程序博客网 时间:2024/05/23 09:53

使用标签之前要引入:xmlns:rich="http://richfaces.org/rich"

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:t="http://myfaces.apache.org/tomahawk"
      xmlns:a4j="http://richfaces.org/a4j"
      xmlns:i="http://www.fhdata.com/jsf"
      xmlns:rich="http://richfaces.org/rich">
<h:head>
    <title>选择显示的列</title>
 
    <script type="text/javascript">
    //<![CDATA[
       function saveEnd() {
           window.close();
           return false;
       }
    //]]>
    </script>
    
</h:head>
<h:body>
    <h:form id="SelectColumnForm">
        
        <rich:pickList converter="#{staffConverter}" id="selectedItem" value="#{productBean.selectedTradeSystemIndex}" targetCaption="已选项"
                        sourceCaption="待选项" listWidth="200px" listHeight="320px" orderable="true" addAllText="&gt;&gt;&gt;" addText="&gt;"  
                        removeAllText="&lt;&lt;&lt;" removeText="&lt;" downText="Down" upText="Up" upTopText="First" downBottomText="Last">
             <f:selectItems value="#{productBean.selectedIndex}"  />
             <f:selectItems value="#{productBean.unSelectedIndex}"  />
        </rich:pickList>
         <t:div id="operateBtn" style="position:fixed;right:0;bottom:0">
            <h:panelGrid columns="2" style="float:right;" cellspacing="5px">
                <a4j:commandButton id="okBtn" styleClass="btn" value="确定" action="#{productBean.changeIndex}" oncomplete="return saveEnd();"/>
                <h:commandButton id="cancelBtn" styleClass="btn" value="取消" onclick="window.close();return false;"/>
            </h:panelGrid>
        </t:div>
    </h:form>
</h:body>
</html>


对应的bean:

public class productBean{

    private List<String> selectedIndex;

    public List<String> getSelectedIndex() throws SQLException {

        List<String> selectedIndexs = new ArrayList<String>();
        selectedIndexs .add("cc");

       selectedIndexs .add("dd");
        return selectedIndexs ;

    }
    
    public List<String> getUnSelectedIndex() throws SQLException {
        List<String> unSelectedIndexs = new ArrayList<String>();
        unSelectedIndexs .add("aa");

       unSelectedIndexs .add("bb");
        return unSelectedIndexs ;
    }
    
    public void setSelectedIndex(List<String> selectedIndex) {
        this.selectedIndex= selectedIndex;
    }

   public void changeIndex() {

    //根据得到的selectedIndex的值进行处理

    }

}


xhtml页面写的rich:pickList标签,value对应的是右侧区域显示的内容,具体的内容来自于它下面对应的第一个f:selectItem标签里面的内容,左侧的区域来自于第二个f:selectItem标签,页面加载后,左侧区域显示cc,dd,右侧区域显示aa,bb

点击页面上的保存按钮,此时,会调用setSelectedIndex方法,将页面上选中的右侧区域的值赋值给 this.selectedIndex,此时就可以得到选中区域的值


0 0