Bes*_*ces 9 ajax jsf jsf-2 immediate-attribute
如果immediate="true"有一个支持Ajax JSF 2.0组件打交道时从来没有被使用?
示例可能是:
如果我想在JSF 2.0页面上实现"取消"按钮,如果用户点击"取消",则不应运行任何验证,immediate="true"如果组件是ajaxified组件,或者应该指定表单上没有组件应该被处理?如果是这样,使用组件的AJAXified功能而不是使用的"旧方法"实现此功能的方法是immediate="true"什么?
Bal*_*usC 11
实际上,在immediate="true"取消按钮上使用的目的已经变得无用,因为<f:ajax>您可以设置为execute="@this"(已经是默认设置)以跳过相同形式的所有输入组件的处理.
您可能只在事先提交表单时遇到问题,但由于转换/验证失败而失败.如果您通过ajax点击取消按钮并在此后渲染表单,输入仍然会被标记为无效,并且模型值中的任何更改都不会反映出来(您可能正在执行entity = new Entity();取消操作方法中的某个或某些操作来清除旧值形式).使用同步(非ajax)请求时不会发生此问题immediate="true".这个问题实际上与immediate="true"ajax请求的JSF生命周期没有任何关系.您基本上需要通过调用EditableValueHolder#resetValue()未包含在ajax execute中但包含在ajax中的组件来重置所涉及的输入组件的无效状态render.OmniFaces有ResetInputAjaxActionListener出于这样的目的.
| 归档时间: |
|
| 查看次数: |
5319 次 |
| 最近记录: |