ice:selectOneMenu 和 ice:selectManyCheckbox

    ice:selectOneMenu  和 ice:selectManyCheckbox  前者是个下拉菜单,后者是复选框。

  想让他们的值改变就做一次提交操作。

      对于下拉菜单来说,只要添加valueChangeListener事件。

 

     如:

      <ice:selectOneMenu id="languagesSelectors" partialSubmit="true" style="left: 22px; top: 22px; position: absolute" valueChangeListener="#{Logon.changeLocale}">
                 <f:selectItem itemLabel="简体中文" itemValue="zh_CN" />
                  <f:selectItem itemLabel="English" itemValue="en_US" />
       </ice:selectOneMenu>

 

    后台对应的java代码也很简单,只要写个changeLocale方法

    partialSubmit="true" 是具有ajax 部分提交的特性。

 对于复选框就复杂点罗。

      <ice:selectManyCheckbox  value="#{LD101.addressListSelectCheckbox}"    valueChangeListener="#{LD101.addressListPowerValueChange}" οnchange="this.form.submit();" >
      <f:selectItems value="#{LD101.addressListSelectCheckboxItem}" /> </ice:selectManyCheckbox>

 

 其对应的后台java代码如下:

      public void addressListPowerValueChange(ValueChangeEvent event) {
        HtmlSelectManyCheckbox box = (HtmlSelectManyCheckbox) event.getSource();
        List powers = (List) event.getNewValue();

        if (powers.contains(String.valueOf(PowerID.watchDepartmentContacts.getIntValue())))
          {
            if (!addressListSelectCheckbox.contains(String.valueOf(PowerID.watchDepartmentContacts.getIntValue())))
              {
                addressListSelectCheckbox.add(String.valueOf(PowerID.watchDepartmentContacts.getIntValue()));
              }
          } else
          {
            addressListSelectCheckbox.remove(String.valueOf(PowerID.watchDepartmentContacts.getIntValue()));
          }

        if (powers.contains(String.valueOf(PowerID.watchProjectContacts.getIntValue())))
          {
            if (!addressListSelectCheckbox.contains(String.valueOf(PowerID.watchProjectContacts.getIntValue())))
              {
                addressListSelectCheckbox.add(String.valueOf(PowerID.watchProjectContacts.getIntValue()));
              }
          } else
          {
            addressListSelectCheckbox.remove(String.valueOf(PowerID.watchProjectContacts.getIntValue()));
          }
        if (powers.contains(String.valueOf(PowerID.watchLeadContacts.getIntValue())))
          {
            if (!addressListSelectCheckbox.contains(String.valueOf(PowerID.watchLeadContacts.getIntValue())))
              {
                addressListSelectCheckbox.add(String.valueOf(PowerID.watchLeadContacts.getIntValue()));
              }
          } else
          {
            addressListSelectCheckbox.remove(String.valueOf(PowerID.watchLeadContacts.getIntValue()));
          }
        if (powers.contains(String.valueOf(PowerID.watchAllContacts.getIntValue())))
          {
            if (!addressListSelectCheckbox.contains(String.valueOf(PowerID.watchAllContacts.getIntValue())))
              {
                addressListSelectCheckbox.add(String.valueOf(PowerID.watchAllContacts.getIntValue()));
              }
            if (!addressListSelectCheckbox.contains(String.valueOf(PowerID.watchDepartmentContacts.getIntValue())))
              {
                addressListSelectCheckbox.add(String.valueOf(PowerID.watchDepartmentContacts.getIntValue()));
              }
            if (!addressListSelectCheckbox.contains(String.valueOf(PowerID.watchProjectContacts.getIntValue())))
              {
                addressListSelectCheckbox.add(String.valueOf(PowerID.watchProjectContacts.getIntValue()));
              }
            if (!addressListSelectCheckbox.contains(String.valueOf(PowerID.watchLeadContacts.getIntValue())))
              {
                addressListSelectCheckbox.add(String.valueOf(PowerID.watchLeadContacts.getIntValue()));
              }
          } else
          {
            addressListSelectCheckbox.remove(String.valueOf(PowerID.watchAllContacts.getIntValue()));
          }
        box.setValue(addressListSelectCheckbox);
        box.saveState(FacesContext.getCurrentInstance());

    }

 

  这是对icefaces 二个tag的用法的一个总结。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值