【发布时间】:2015-05-13 06:27:55
【问题描述】:
我正在尝试通过数据表显示 bean 中包含的列表中的数据,并在用户键入时由代码执行操作。它最初显示正常,并且对 List 的更改会反映在 UI 中。
我的问题是输入到 inputText 中的值被忽略了。尝试寻找解决方案,我尝试在值更改时检查列表,并且还尝试在没有 ajax 的情况下进行检查,以防出现问题(没有变化)。尝试过使用会话并查看作用域 bean,但没有运气。尝试将字符串包装在 POJO 中。
在这里发疯。感觉好像我错过了一些明显的东西。有什么想法吗?
<h:dataTable id="multioptionanswers"
value="#{multiTextBean.texts}" var="texts">
<h:column>
<f:facet name="header">
<h:outputText value="Enter Values"></h:outputText>
</f:facet>
<h:inputText value="#{texts}" immediate="true">
<f:ajax event="blur" execute=":addgroup"
render=":addgroup"
listener="#{multiTextBean.update}" />
</h:inputText>
</h:column>
</h:dataTable>
**addgroup 是数据表所在的面板组。
【问题讨论】:
-
您的 'h:datatable' 是否包含在 'h:form' 属性中?
-
id "addgroup" 属于哪个组件?
-
Thomas Schmidt --> 仅包含在面板组中。最初它是在面板组中的一个表单中,但这阻止了 ajax 被调用。不知道为什么,我知道表单中的表单是不好的。删除表单后,调用了 ajax 功能。
-
tt_dev --> addgroup 直接位于 h:body 下
-
我已将面板组替换为表单,行为没有明显变化