JSF inputText只读取required =“true”
问题描述:
任何人都可以解释为什么h:inputText
必须有required="true"
当在控制器中设置属性并使用ajax更新时(请参阅下面的示例)?JSF inputText只读取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。
我看不到有任何理由要求设置为true。
感谢
答
的PrimeFaces p:commandLink
默认情况下已经启用了AJAX的,所以没有必要窝里面一个p:ajax
标签。
<p:commandLink value="edit" actionListener="#{controller.edit(item)}"
process="@this" update="@form"/>
但是请记住,如果你添加一个process="@this"
,输入不在服务器,只是commandLink上处理。如果'item'字段在这种情况下正确传递,我不清楚。
'p:commandLink'已经启用了ajax ...不需要'p:ajax'标签!并且使用'process =“这个”''可以防止输入被忽略',所以请创建一个[mcve]来表示真实的意图 – Kukeltje
其实你的建议解决了这个问题。删除ajax并添加到命令链接作为操作。谢谢 – Smolda