2012-04-12 9 views
4

私のチームはjsfを持ち、EL文を使用して入力ボックスの値を読み込みますが、デフォルトでは値として何が設定されていますか?フィールドに記入する必要があります。どのようにすれば、EL文が動作している間に入力のデフォルト値を設定できますか? 例:EL文を使用して値を読み取るときに入力フィールドのデフォルト値を設定する

<h:inputText value="#{registrationBean.firstName}" styleClass="formEle"/> 

私は

<h:inputText value="#{registrationBean.firstName}First Name" styleClass="formEle"/> 

を試みたが、これは我々が提出し、接続を切断します。 アイデア

答えて

10

あなたは「透かし」または「プレースホルダ」と呼ばれるものを探しています。低レベルでは、これらの日これはHTML5 placeholder属性によって行われなければ、通常は次のとおりです。

<input type="text" placeholder="First Name" /> 

これが唯一の新しいHTML5属性をサポートするJSFコンポーネントにのみHTML5をサポートしているブラウザで、もちろん作品と。標準のJSF <h:inputText>はこれをネイティブに(まだ)サポートしていません。これをサポートするサードパーティコンポーネントライブラリを探す必要があります。その中でPrimeFacesでその<p:watermark>

<h:inputText id="firstName" value="#{registrationBean.firstName}" /> 
<p:watermark for="firstName" value="First Name" /> 

PrimeFacesを使用すると、何らかの理由でできない場合は、カスタム・コンポーネントおよび/またはJS/jQueryのカスタムピースの味でそれを自分を改革する必要があるだろうちょうど<p:watermark>がカバーの下でやっているようです。

-1

あなたは、あなたがウォーターマークを使用する必要はありませんPrimeFacesを使用して以下の例を参照することを決定した場合:HTML5のプレースホルダのattibuteを挿入ロードした後はJavaScriptによって変更することができJSFによってレンダリング

<h:form> 
    <p:panel id="panel" header="Client Details" style="margin-bottom:10px;"> 
    <p:messages id="messages" /> 
    <h:panelGrid columns="2"> 

     <h:outputLabel for="firstName" value="First Name" /> 
     <p:inputText id="firstName" value="#{clientlistpagebean.selectedFieldClient.firstName}" required="true" /> 

     <p:outputLabel for="lastName" value="Last Name" /> 
     <p:inputText id="lastName" value="#{clientlistpagebean.selectedFieldClient.lastName}" required="true" /> 

    </h:panelGrid> 
    </p:panel> 

    <p:commandButton value="Submit" update="panel" style="margin-right:20px;" /> 
</h:form> 
1

HTMLタグを:

<script> 
    window.onload = function() { 
    document.getElementById('email').setAttribute("placeholder", "Email"); 
    document.getElementById('pwd').setAttribute("placeholder", "Password"); 
    } 
</script> 
2

あなたはPostConstrut段階であなたのバッキングBeanに<h:inputText>のデフォルト値を定義することができます。あなたはバッキングBeanで定義されているようh:inputTextに表示されたページ作成値の後

@ManagedBean(name="registrationBean") 
public class RegistrationBean{ 

    private String firstName; 

    @PostConstruct 
    public void init(){ 
     firstName = "your default value"; 
    } 

} 

になります。 サードパーティのライブラリがなくてもうまくいくかもしれません。

関連する問題