我将 JSF 与 RichFaces 和 Spring Webflow 一起使用。我试图使用数据表中的行来选择行,并在服务器端对所选行执行一些操作。我在从复选框检索数据时遇到了问题。
<rich:column id="compCheckBox" styleClass="center-aligned-text">
<f:facet name="header">
<h:selectBooleanCheckbox title="selectAll">
</h:selectBooleanCheckbox>
<h:outputText value="Select"/>
</f:facet>
<h:selectBooleanCheckbox id="selectComponent" title="selectAll" value="#{workspace.selectedComponentIds[componentInfo.id]}">
</h:selectBooleanCheckbox>
</rich:column>
并使用提交值
但是,只有 ID 会在 Map 中恢复,默认情况下,Map 中的所有 id 值都显示为“false”。
如何将选定的复选框在地图中标记为 true。
我已参考链接文本获取信息。
我该如何解决这个问题?
谢谢,
阿卜杜勒
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web
技术交流群。
我将 JSF 与 RichFaces 和 Spring Webflow 一起使用。我试图使用数据表中的行来选择行,并在服务器端对所选行执行一些操作。我在从复选框检索数据时遇到了问题。
<rich:column id="compCheckBox" styleClass="center-aligned-text">
<f:facet name="header">
<h:selectBooleanCheckbox title="selectAll">
</h:selectBooleanCheckbox>
<h:outputText value="Select"/>
</f:facet>
<h:selectBooleanCheckbox id="selectComponent" title="selectAll" value="#{workspace.selectedComponentIds[componentInfo.id]}">
</h:selectBooleanCheckbox>
</rich:column>
并使用提交值
但是,只有 ID 会在 Map 中恢复,默认情况下,Map 中的所有 id 值都显示为“false”。
如何将选定的复选框在地图中标记为 true。
我已参考链接文本获取信息。
我该如何解决这个问题?
谢谢, 阿卜杜勒
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要确保在后续请求中保留相同的数据模型。数据表的
value
属性在表单提交期间必须返回与显示期间完全相同的数据模型。如果数据模型不存在或不同,则所选项目的地图很可能不会按您的预期填充。根据评论更新:您还需要确保表格和提交按钮位于相同
内。You need to ensure that the same datamodel is preserved in the subsequent request. The
value
attribtue of the datatable must return exactly the same datamodel during form submit as it was during display. If the datamodel is not present or different, then chances are that the map of selected items won't be filled as you'd expect.Update as per the comment: you also need to ensure that the table and the submit button are inside the same
<h:form>
.