jsf学习总结(一)

一、现用selectonemenu实现多极联动下拉框

       功能是类似这样的第一个下拉框显示国家名

       第二个下拉框显示省名

       第三个下拉框显示市名

       改变国家名时 省名和市名都变化

       改变省名时 市名变化

       selectonemenuimmediate属性设为true,只考虑这三个下拉框可以达到目的

       但是其他的带有提交动作immediate属性为false的组件必须提交两次行

       第一次会先执行下拉框的valuechange事件,然后就会直接跳到响应阶段

       第二次则不会执行valuechange事件 原因不明

       如果不将selectonemenuimmediate属性设为true

       改变国家名后,省名的valuechange事件也会执行,而且value值还被设成了以前的值 市名就又变回原来的列表值了

       哪位大侠知道怎么解决

二、 <h:selectonemenu id="selectCar" value="#{form.name}"></h:selectonemenu>

       <f:selectitems value="#{form.curlist}"></f:selectitems>

    怎样从java中获得一个集合对象来填充这个下拉列表

    解决:  public List  getCurlist() {

          List curlist = new ArrayList();

        

          curlist.add(new SelectItem("1","aaa"));

          curlist.add(new SelectItem("2","bbb"));

          curlist.add(new SelectItem("3","ccc"));

<o:p> </o:p>

              return curlist;

       }

三、一个下拉框触发一个onchang事件。将页面重定向到另一个叶面

 public String changText(ValueChangeEvent event)

   {

        

          FacesContext fcontext = FacesContext.getCurrentInstance();

          String str = event.getNewValue().toString();

          loginfo.info("name:"+str);

          if(str.equals("1"))

                 return "showInformation"; //重顶向没有起到作用

          else

                 return "success";

   }

  

四、required="true" immediate="true"区别  在每个录入框中加入。页面调用默认的验证方式

一个事件的基本流程:重建试图、套用请求值、执行验证、更新模型值、唤起应用程序、绘制响应页面

<o:p> </o:p>

immediate="true:组件在套用请求值后进行处理,并跳过后续的阶段。直接进行页面绘制以响应请求,

他将指定的事件成为即时事件

  <code>

 <tr>

                            <td><h:outputText value="#{msgs.namePrompt}" /></td>

                            <td><h:inputSecret value="#{user.password}" required="true">

                                   <f:validator validatorId="onlyfun.caterpillar.Password" />

                                   <f:attribute name="pattern" value=".+[0-9]+" />

                            </h:inputSecret>

                            <p>

                            </td>

                     </tr>

 

</code>

                              <h:outputtext value="#{msgs.namePrompt}"></h:outputtext>

                              <h:inputsecret value="#{user.password}" required="true"></h:inputsecret>

                                   <f:validator validatorid="onlyfun.caterpillar.Password"></f:validator>

                                   <f:attribute name="pattern" value=".+[0-9]+"></f:attribute>

                           

                           

 

                           

                    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值