2

管理プロパティを使用せずに入力値をアクションのパラメーターとして渡す方法はありますか?

すなわち

<h:form>        
    <h:inputText id="input" />  
    <h:commandButton action="#{someBean.doSome(input)}" />  
</h:form> 
4

1 に答える 1

2

はい、JSFコンポーネントの状態ですでにフォーム送信中です。binding入力コンポーネントを属性によってビューにバインドするだけです。UIInputインスタンスを参照します。インスタンスにgetValue()は、入力値を取得するというまさに目的のためのメソッドがあります (アクション メソッドの引数として渡すことができます)。

<h:form>        
    <h:inputText ... binding="#{input}" />  
    <h:commandButton ... action="#{someBean.doSome(input.value)}" />  
</h:form> 

ただし、このアプローチの妥当性は非常に疑わしく、具体的な機能要件によって異なります。つまり、このアプローチは基本的にビューとモデルを密結合しているため、悪い習慣と見なされます。

以下も参照してください。

于 2013-08-20T17:04:09.877 に答える