2

私のxhtmlフォームコード:

            <h:inputText id="name" value="#{customer.name}" 
                size="20" required="true"
                label="Name" onblur="alert(this.value())" >
            </h:inputText>

ソースを表示すると、レンダリングされます

<input id="j_idt22:name" name="j_idt22:name" onblur="alert(this.value())" size="20"    type="text">

j_idt22:というプレフィックスが追加されていることを確認すると、 この
プレフィックス名を Bean フォームで取得したいと考えています。

どうすればそれを達成できますか?

4

4 に答える 4

5

JSFコンポーネントで動的に生成されたIDを回避するには、使用できます

<h:form prependId="false"> 

マネージドBeanにバインドされた値を直接取得できます

名前のリストを取得したい場合は、次を使用できますrequest.getParameterMap()

于 2012-07-23T09:53:39.420 に答える
4

表示される ID は、コンポーネントのクライアント ID です。Bean にコンポーネントへのバインディングがある場合、要素component.getClientId(<FacesContext>)の HTML ID(j_idt22:name)を返します。

于 2012-07-23T09:55:51.003 に答える
2

自動生成された ID を回避するために、form タグにも ID を設定できます。そうすれば、自分で設定したプレフィックスがわかります。

于 2012-07-23T10:06:44.390 に答える
1

フォームに言及していないと思います。フォーム名に言及すると、id が formname:idname として生成されます。

于 2012-07-23T09:44:45.600 に答える