2012-02-15 10 views
0

私はstruts2でプロジェクトを作成しています
私は以下のようにRegistration.jspページを作成しました。私は、JSPに結果をリダイレクトしようとしているとしようとしているときにアクションを呼び出した後Struts2プロパティの不明確

私はすべてのフィールドに同じ名前を付けしようとしていますし、それが値を設定することで使用されている上に見られるように
<s:form name="registration" action="Registration" > 
<s:textfield name="user.userName" label="UserName"></s:textfield> 
<s:textfield name="user.userName" label="Password"></s:textfield> 
<s:textfield name="user.userName" label="Re-Enter Password"></s:textfield> 
<s:textfield name="user.userName" label="Name"></s:textfield> 
<s:textfield name="user.userName" label="DOB"/> 
<s:textfield name="user.userName" label="email"></s:textfield> 
<s:textfield name="user.userName" label="Portfolio Name"></s:textfield> 
<s:submit></s:submit> 
</s:form> 

..
指定されたフィールドにa、b、c、d、eをそれぞれパラメータとして入力すると、

のように表示されるuserNameを表示します。

私はなぜこれが起こっているのですか..だれかがアイデアを持っていますか?

答えて

1

これは、クライアントからサーバへの通信の仕組みです.HTTPの観点から、すべてのものがStringのKey-Valueペアを使用してサーバーに送信されます。

Actionクラスで設定され、Collection/Arrayと解釈される値は、機能S2およびその変換メカニズム(OGNLおよびXWork変換)です。

user.userName=a,b,c,d,eなどの値を持つキーとして値が送信され、アクションクラスにコレクション/配列が宣言されているため、S2型変換メカニズムが動作し、これらの値をArray/Collectionに変換して設定していますあなたの行動クラスの尊重された財産で。

逆のケースでは、HTMLは文字列のみを認識し、サーバーからキーと値として送信されます。また、S2メカニズムを再生するように要求していないため、HTML形式で表示されますあなたの説明。

+0

私はリストにこれらの値を保存しようとしていますが、多くの試行の後にsuccededしていません。 – Abhij

+0

@Abhishekj:どのようにしてコードを表示できますか? –

+0

ありがとうUmesh私はもう少し努力してやった。 – Abhij

0

このページを送信すると、URLは?user.userName=a&user.userName=b&user.userName=c&user.userName=d&user.userName=eのようになります。 Struts2はこれをCollectionまたはArrayとみなします。この値をString型パラメータに設定すると、値はコンマで区切られて格納されます。後で、これはアクションコールの後でページに表示されるものです。

関連する問題