3
私は純粋なHTMLフォームセクションをプラグインする必要があるかなり複雑なJSFページ(JSF2 with faceletを使用しています)を持っています(ドキュメントのWYSIWYGテンプレートを表しています)それは後でPdfとして作成されます)。マネージドBeanの動的入力要素を読み取るJSF
String text1 = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("ft2");
: 非常に単純化ページは、(リクエストがスコープ)私は、このように「foo」という文字列を取得しようとしたアクションリスナーを持っている管理Bean MyBeanとで
<h:form id="formEditDoc">
<p:commandButton styleClass="commandButton" value="Save"
actionListener="#{myBean.myAction}" update="masterForm:msg">
</p:commandButton>
<!-- some jsf controls here -->
....
<!-- this is my dynamic section -->
<input id="ft2" type="text" value="foo"/>
</h:form>
のように見えますしかし、私は価値を得ることができません。 Text1は常にnullです。私もajax = falseをcommandButtonに設定しようとしましたが、何も変わりませんでした。 私が間違っていることについて何か考えていますか?
まず物事を最初:ソリューションをありがとうございました。一般的なアプローチでは、私の問題はより複雑です。 @ManagedProperty( "#{param.ft2}")プライベートString ft2を使用することはできません。なぜなら、私は自分のページにいくつの入力フィールドがあるのかわからないからです。ユーザーが自分で作成できるテンプレートに依存しているからです。同様の理由から、inputHiddenを使用することはできません。最初に、入力ボックスをユーザーから見えるようにしたい、次に2番目に、必要なものがどれくらいあるかわかりません。 – themarcuz
それらの入力に**同じ**名前を与え、 'String {]'プロパティに '#{paramValues.ft}'を使用します。 HTML DOMに登場したときに順番に表示されます。私はあなたが 'type =" hidden "を使わなかったことを見落としました。 – BalusC