2012-01-06 5 views
0

DynaFormで値を設定したいのですが、これはActionクラスでは簡単ですが、JSP自体で値をコピーしたいのですがセッションをフォームに追加します。JSPのDynaActionForm/DynaValidatorFormの値を設定

<form-bean name="inputCIDs" type="org.apache.struts.validator.DynaValidatorForm"> 
    <form-property name="containerIDFormat" type="java.lang.String"/> 
</form-bean> 

次のJavaコードはJSPで動作しますが、同等のアクションを行うとのStruts 1.xまたはJSTLタグはありますか?
ストラット1.2.4
TAGLIBS 1.1.2
のJBoss 4.0.2

<% 
    DynaActionForm form = (DynaActionForm) request.getAttribute("inputCIDs"); 
    form.set("containerIDFormat", session.getAttribute("varInSession")); 
%> 

プロパティは、選択ボックス

<html:select property="containerIDFormat"> 
    <html:options collection="containerIDFormats" property="value" labelProperty="description"/> 
</html:select> 

環境を使用して、ユーザによって使用され、変更されます

答えて

0

なぜですか? JSPはこのタイプの作業に適した場所ではありません。

フォームの値を設定するだけでは、新しいリクエストスコープのフォームが作成されるため、提出にもかかわらず存続しません。また、セッションスコープのフォームであれば、JSPでこの作業を行う理由はほとんどありません。

+0

あなたは正しいですか?ここに私が達成しようとしている究極の挑戦があります。私は選択ボックスの値を取得してセッションに入れることを希望します。しかし、アクション用に定義されたDynaFormで変数を宣言しなければ、動作しません。この特定の変数は複数のフォームで使用され、複数のアクションからページをロードできます。 JSPにコードを入れることで、フォームの値がセッションの値と一致するようにします。そこには良い方法がありますか? – JustinKSU

+0

@JustinKSUまあ、dynaフォームを使うということは 'reset'を意味しません。それはまだ行動の中で行うことができます。それが何かのものならば、それは薄いベースアクションになる可能性があります。おそらく隠された財産を使うのは簡単でしょう。選択ボックスについて何を意味するかわからない。フォームに選択ボックスがある場合、それにはプロパティが必要です。 –

+0

フォームに値を代入するのではなく、それに加えてセッションに値が自動的に保存されるようにプロパティをマップする方法はありますか?言い換えれば、フォームからセッションにコピーするためにコードを私のアクションに入れなくても、プロパティをコピーする方法はありますか? – JustinKSU

関連する問題