Ajax RichFaces:JSF消息使用a4j:support消失
我正在使用richfaces实现运行JSF1.2。 我试图做的是在选中SelectBoolean复选框时启用selectOneRadio。 到目前为止,它是有效的。但有一种奇怪的效果: 考虑以下情况: 字段selectA在其rich:Message标记中显示错误消息。 选中My复选框后,selectOneRadio SelectToRender将启用,但页面上所有富消息标记中的错误消息将消失 谢谢你的帮助 问候, 马克斯Ajax RichFaces:JSF消息使用a4j:support消失,ajax,jsf,richfaces,jsf-1.2,Ajax,Jsf,Richfaces,Jsf 1.2,我正在使用richfaces实现运行JSF1.2。 我试图做的是在选中SelectBoolean复选框时启用selectOneRadio。 到目前为止,它是有效的。但有一种奇怪的效果: 考虑以下情况: 字段selectA在其rich:Message标记中显示错误消息。 选中My复选框后,selectOneRadio SelectToRender将启用,但页面上所有富消息标记中的错误消息将消失 谢谢你的帮助 问候, 马克斯 手册中说,组件rich:message支持“在Ajax请求后自动重新提交,
手册中说,组件
rich:message
支持“在Ajax请求后自动重新提交,无需
的帮助”。
因此,该组件在每个AJAX请求中都会自动重新发布。在您可以看到的属性列表中,ajaxRendered
的默认值设置为true
因此,您可以尝试将其设置为false
,但是您必须知道,在相关AJAX请求期间必须手动重新提交它(例如,如果您的selectA
具有AJAX支持)。中的
formyCheckbox
表示选中该框时,仅提交myCheckbox
进行处理(排序)和验证。因此,在处理该请求期间,将忽略该表单中的所有其他组件以及任何相关的验证错误和消息
要确保在选中myCheckBox
时提交并验证整个表单,请设置ajaxSingle=“false”
或将其全部删除谢谢您的快速回答。在
中设置ajaxRendered=“false”
无效。错误消息仍然会消失。
<!-- Field which shows error-Message if vlaue was not entered -->
<h:selectOneRadio id="selectA"
value ="#{controller.entity.valueA}"
required="true"
label="#{text['selectA.label']}"
layout="pageDirection">
<f:selectItem itemValue="#{true}" itemLabel="Yes" />
<f:selectItem itemValue="#{false}" itemLabel="No"/>
</h:selectOneRadio>
<rich:message for="selectA"/>
<!-- Field which enables selectOneRadio selectToReRender if it is checked -->
<h:selectBooleanCheckbox id="myCheckbox"
label="#{text['myCheckbox.label']}"
value="#{controller.entity.valueB}"
required="false">
<a4j:support event="onclick" ajaxSingle="true" reRender="selectToReRender"/>
</h:selectBooleanCheckbox>
<rich:message for="myCheckbox"/>
<!-- Field which is disabled until myCheckbox is checked.
Function getSelectToReRenderDisabled() of controller checks the boolean value of controller.entity.valueB -->
<h:selectOneRadio id="selectToReRender"
value="#{controller.entity.valueC}"
label="#{text['selectToReRender.label']}"
layout="pageDirection"
required="true"
disabled="#{controller.selectToReRenderDisabled}">
<f:selectItems value="#{MySelectItems.myEntitySelectItems}"
var="" />
</h:selectOneRadio>
<rich:message for="selectToReRender"/>