jsf Action 与 ActionListener

在jsf 中,这二个按钮是经常被使用到。简言之,Action 是 ActionListener 的一种简写。当ActionListener 中的参数(ActionEvent event),若不需要用到参数event 可以直接用 Action 而不需要ActionListener。

    action()处理的是业务逻辑.实际上JSF会自动产生一个"预设的ActionListener"来处理事件,并根据其返回值决定页面跳转.第五阶段:调用应用执行,    会影响到页面间的导航(navigation)。

     navigation

      <navigation-rule>
        <from-view-id>/Logon.jsp</from-view-id>
        <navigation-case>
            <from-outcome>true</from-outcome>
            <to-view-id>/Home.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>false</from-outcome>
            <to-view-id>/Error.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>

    主要处理一些业务逻辑并返回几个业务逻辑结果(String类型),JSF的导航系统将会根据这个来选择恰当的下一个页面. 会提交表单.
       actionListener(ActionEvent e)处理页面上组件的"监听事件".第五阶段:调用应用执行,  不会影响到导航.主要操作当前页面内的组件,或者是进行一些业务模型上的改变,或者是修改backing bean(托管Bean)的属性等,并不会出现在页面间的跳转。会提交表单.
         valueChangeListener(ValueChangeEvent event)处理页面上组件值变化的"监听事件","第三阶段:验证请求值"执行
 注意:
      ActionListener (事件监听器)是用于解决只影响用户界面的事件 ,    特别地,在beans的form数据被加载和触发验证前被调用 , 用immediate=“true”指明这个行为不触发验证 , 在监听器调用后,会重新显示表单 , 不应用导航规则,不重定向页面
   Action   隶属于按钮、超链接和图形映射控件,自动提交对应表单 。
   ValueChangeListener    隶属于单选框、组合框、列表框、复选框、文本框等控件,需要用οnclick=“submit()”或οnchange=“submit()”的方式提交表单

      <h:form id="LanguageForm">
                        <h:selectOneMenu  οnchange="this.form.submit();" immediate="true"   valueChangeListener="#{logon.changeLocale}">
                            <f:selectItem itemLabel="简体中文" itemValue="zh_CN"/>
                            <f:selectItem itemLabel="English" itemValue="en_US"/>
                        </h:selectOneMenu>
                    </h:form>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值