jsf如何經過按鈕切換在同一個頁面上的非公共部分顯示不一樣的內容

在jsf中,同一個頁面上有公有的內容,也有非公有的內容,經過一個按鈕進行切換來顯示不一樣的內容(經過ajax實現):
   前臺頁面:(這句話放到單選按鈕裏面,這樣後臺就能知道切換後日後臺傳的值)
          <p:ajax immediate="true" listener="#{userBean.userTypeChange}" update=":theShowPage" />
   註釋:
          immediate="true"表示跳過驗證當即執行;

        update=":theShowPage"表示切換完按鈕後更新的頁面。 ajax

  後臺頁面:
          public void userTypeChange(AjaxBehaviorEvent event) {
          Object item = ((SelectOneMenu) event.getSource()).getSubmittedValue();
           int role= Integer.parseInt((String.valueOf(item)));
         if (newValue == "管理員") {
          user.setUserType(1);
         }
           } this

   前臺頁面若是要顯示不一樣的值,能夠在同一個頁面上用rendered屬性,這種驗證能經過int型或boolean類型進行顯示,String類型的不行例如:
         rendered="#{userBean.user.userType==1}" spa

詳細的一種寫法: bean頁面: private String province; private String city; public String getProvince() { return province; } public void setProvince(String province) { this.province = province; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } List selectItemList = new ArrayList(); public List getSelectItemList() { return selectItemList; } public void changeProvince(AjaxBehaviorEvent event) { String selectedValue =String.valueOf(((HtmlSelectOneMenu)event.getSource()).getSubmittedValue()) ; if (selectedValue.equals("hbs")) { selectItemList.add(new SelectItem("2", "Label2")); } else { selectItemList.add(new SelectItem("1", "Label1")); } }
相關文章
相關標籤/搜索