【发布时间】:2017-10-19 12:46:19
【问题描述】:
谁能解释为什么h:inputText 在控制器中设置属性并使用ajax 更新时必须有required="true"(参见下面的示例)?
不起作用:
<h:inputText id="textFieldId" value="#{model.itemValue}">
作品:
<h:inputText id="textFieldId" value="#{model.itemValue}" required="true">
行动:
<p:commandLink value="edit">
<p:ajax event="click" listener="#{controller.edit(item)}" process="@this" update="@form"/>
</p:commandLink>
背后的想法是我想按下项目的按钮并能够编辑,所以我需要将此项目传播到 inputText。
我看不出有任何理由将 required 设置为 true。
谢谢
【问题讨论】:
-
p:commandLink已经启用了 ajax... 里面不需要p:ajax标记!!!并且使用process="this"可以防止输入被“忽略”,因此请创建一个minimal reproducible example 以显示真实意图 -
实际上您的建议解决了问题。删除 ajax 并作为操作添加到命令链接。谢谢
标签: jsf primefaces