根据我的要求,有一个h:inputtext来查找用户。如果找到用户,则在相应的h:inputtext中填充名字,姓氏和电子邮件,该文件被禁用。但是如果没有找到输入文本应该被启用并且可以填充新的细节。
<h:inputText value="#{countryBean.usersDetailsDTO.eid}" id="eid" required="true" requiredMessage="Enter EID">
<f:ajax></f:ajax>
</h:inputText><h:message styleClass="msgStyle4" id="msgEid" for="eid"/>
</div>
<h:commandButton styleClass="search_btn" immediate="true">
<f:ajax listener="#{countryBean.getUserDetail}" render="empFName empLName empEmail" event="click" execute="@this" />
</h:commandButton>
<div class="clear"> </div>
<div class="form-field" style="margin-left:222px;">
first Name <h:inputText value="#{countryBean.usersDetailsDTO.firstName}" id="empFName" required="true" requiredMessage="Enter First Name">
<f:validator validatorId="nameValidation" />
</h:inputText><h:message styleClass="msgStyle4" id="msgfn" for="empFName"/>
</div>
<div class="clear"></div>
<div class="form-field" style="margin-left:10px;">
last name <h:inputText value="#{countryBean.usersDetailsDTO.lastName}" id="empLName" required="true" requiredMessage="Enter Last Name">
<f:validator validatorId="nameValidation" />
</h:inputText><h:message styleClass="msgStyle4" id="msgln" for="empLName"/>
</div><div class="clear"></div>
<div class="form-field" style="margin-left:10px;">
email<h:inputText value="#{countryBean.usersDetailsDTO.email}" id="empEmail" required="true" requiredMessage="Enter Email Address">
<f:validator validatorId="emailValidation" />
</h:inputText><h:message styleClass="msgStyle4" id="msgEmail" for="empEmail"/>
</div>
答案 0 :(得分:4)
您可以随时使用disabled
属性和JSF EL将布尔值传递给disabled
属性。
例如,在您的情况下如果要预先填充第一个名称,则要禁用任何h:inputText
:
<h:inputText value="#{countryBean.usersDetailsDTO.email}" id="empEmail"
required="true" requiredMessage="Enter Email Address"
disabled="#{not(empty countryBean.usersDetailsDTO.firstName)}">
如果Email
已预先填充,则上述代码将停用disabled
输入文字firstname
。
答案 1 :(得分:1)
您可以通过两种方式处理此问题:
1)将inputText的disable-tag设置为BackingBean方法,如下所示:
<h:inputText ... disabled="#{countryBean.found}" ... />
2)在第一个inputText上添加valueChangeListener,如果它有文本,则应禁用其他文本。