簡體   English   中英

根據 p:inputText 的空值啟用/禁用

[英]enable / disable based on the null value for p:inputText

我想創建一個 JSF 應用程序。 在應用程序中,用戶將從數據庫中搜索用戶記錄並在表單中設置值,然后提交表單。 我有一個小問題,我需要根據 p:inputText 的空值啟用/禁用

  • 如果為數據庫中的字段設置了空值,則啟用 p:inputText 的輸入
  • 如果為數據庫中的字段設置了值,則禁用或使其只讀 p:inputText

這樣,如果字段中沒有設置值,用戶將能夠輸入值。 如何實施?

<p:inputText id="firstName"  value="#{javaMB.infoEntity.firstName}"/>
<p:inputText id="lastName"  value="#{javaMB.infoEntity.lastName}"/>
<p:inputText id="age"  value="#{javaMB.infoEntity.age}"/>

this.infoEntity.setFirstName(view.getFirstName());
this.infoEntity.setLastName(view.getLastName());
this.infoEntity.setAge(view.getAge());

        DB 

        Mark   XYZ   45
        Sav    NULL  23
        NULL   Jones 33

如果我們設置第二行,則禁用名字的 p:inputText,啟用姓氏的 p:inputText,禁用年齡的 p:inputText。 如果我們設置第三行,則啟用名字的 p:inputText,禁用姓氏的 p:inputText,禁用年齡的 p:inputText


我試過的

使用 readonly="true" 不起作用,因為如果為其設置了空值,我需要輸入 p:inputText 。

<p:inputText id="lastName"  value="#{javaMB.infoEntity.lastName}"  disabled="{!check}"/>                    
public Boolean check{set;} 

如果需要任何說明,請告訴我,

您可以使用 Java EE EL(表達式語言)的強大功能。

在您的情況下,如果lastName 的不為空,以下聲明將生成禁用的p:inputText

<p:inputText id="lastName" value="#{javaMB.infoEntity.lastName}"  
             disabled=#{not empty javaMB.infoEntity.lastName}/>

或者

<p:inputText id="lastName" value="#{javaMB.infoEntity.lastName}"  
             disabled=#{javaMB.infoEntity.lastName != null}/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM