![](/img/trans.png)
[英]jsf inputText only displayed value when is readonly true or outputText
[英]inputtext returns null after update the disabled/readonly option true to false
我有一个switch(布尔值)。当switch为true时,inputtext disable选项为true。当switch为false时,inputtext disable选项为false,因此我可以输入数据。但是此数据返回null。
<h:form id="form">
<p:inputSwitch value="#{switchMB.isTrue}" onLabel="True"
offLabel="False">
<p:ajax update="inputText" />
</p:inputSwitch>
<p:inputText id="inputText" value="#{switchMB.inputTextValue}"
disabled="#{switchMB.isTrue}" />
<p:commandButton action="#{switchMB.addValue}"
update=":form" value="Add"></p:commandButton>
</h:form>
当我在inputText中输入数据时,此数据始终返回null。如何解决此问题? 谢谢。如何更新inputText中的disabled选项并正确输入数据?
作为防范篡改/被黑客窃取的保护措施的一部分, 还将在表单提交的“应用请求值”阶段评估disabled
属性。 因此,基本上,您需要确保#{switchMB.isTrue}
计算结果与呈现表单时的计算结果完全相同。 简便的方法是将#{switchMB}
托管bean放在视图范围内,而不是在请求范围内。
@Named // Or @ManagedBean
@ViewScoped // Watch out that you import from the right package!
public class SwitchMB {}
即,当您将其放在请求范围内时,所有属性都将重置为其默认值,这在您的特定情况下显然会触发disabled="true"
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.