JSF的immediate属性(转载)

使用immediate属性目的:
1.允许一个commandLink或commandButton浏览到另一个页面,而不处理当前页面输入域的任何数据,即使有验证错误.Cancel按钮,通常属于这一类;
2.允许commandLink或commandButton触发后端逻辑,而忽略页面上的一些字段验证。这是最普遍的应用。
例如:下面的code,按钮执行导航并没有验证required域
<h:inputText id="it" required="true"/>
<t:message for="it"/>
<t:commandButton value="submit" immediate="true" action="welcome"/>
3.使一个或多个输入组件优先验证,如果它们中的任何是无效的,那么就不会执行其他输入组件的验证,这样可以减少错误信息的显示
例如下面的代码,仅对第一个组件进行验证,尽管它们都是required,而当第一个验证通过时,才会执行第二个组件的验证
<h:inputText id="it1" immediate="true" required="true"/>
<h:inputText id="it2" required="true"/>
<t:message for="it1"/>
<t:message for="it2"/>
<t:commandButton value="submit" action="welcome"/>
许多开发人员认为,使用组件的immediate属性可以跳过“处理验证”阶段。事实并非如此,使用immediate属性会让事件在应用请求值阶段被处理
而在<rich:menuItem value="#{msgs.save }"
actionListener="#{pc_OrganizationAdd.organizationAddActionListener}"
immediate="false" submitMode="ajax"
data="#{pc_OrganizationAdd.msg }"
oncomplete="handleResponse(data)" />中如果设置immediate="true",则无法获取form中数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值