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")); } }
相关文章
相关标签/搜索