为可重用JSF弹出窗口中有条件禁用的字段提交的空值
我在IceFaces1.8.x(JSF1.2)中开发了一个弹出对话框 该对话框可重复使用(用于帐户创建和修改),并具有一个带有为可重用JSF弹出窗口中有条件禁用的字段提交的空值,jsf,jsf-1.2,icefaces,icefaces-1.8,Jsf,Jsf 1.2,Icefaces,Icefaces 1.8,我在IceFaces1.8.x(JSF1.2)中开发了一个弹出对话框 该对话框可重复使用(用于帐户创建和修改),并具有一个带有immediate=true的取消按钮(以避免验证)。该对话框在过去遇到了一个问题,在重新打开对话框时会呈现旧值,但现在该问题已按指示修复(,通过将submittedValue设置为null等方法) 我现在面临的问题是特定于有条件禁用的输入字段(),下面是发生的情况: 首先打开弹出窗口(例如创建帐户)并打开此字段 未禁用 然后,用户取消此对话框,由于我们已合并了上述修复(
immediate=true
的取消按钮(以避免验证)。该对话框在过去遇到了一个问题,在重新打开对话框时会呈现旧值,但现在该问题已按指示修复(,通过将submittedValue
设置为null等方法)
我现在面临的问题是特定于有条件禁用的输入字段(
),下面是发生的情况:
setSubmittedValue(null)
),此字段的submittedValue
被设置为null(以及其他字段)必须使用
rendered
属性来显示/隐藏对话框
当对话框重新打开时,它会从上一个实例中得到一些剩余值
解决方案(或解决方法)是使用
而不是呈现的
属性,这样当对话框关闭时DOM将被完全破坏,当对话框打开时DOM将从头开始创建
<c:if test="#{bean.enabled}">
<ice:panelPopup modal="true">
...
</ice:panelPopup>
</c:if>
...
这样,您甚至不需要使用c:if而不是rendered属性将
submittedValue
设置为null的修复程序。谢谢