2012-02-08 20 views
0

JSP内に<s:iterator>タグを使用して、Listの人物オブジェクトを表示しています。アクションデータをJSPに表示するにはどうすればよいですか?

ゲッターとセッターとともに、ListOfPersonsをアクションクラスにListとして作成しようとしました。私はまだデータを表示することができません - どうすればいいですか?

<s:iterator value="ListOfpersons" status="stat"> 

リストのサイズを印刷しようとしたとき、ゼロになっています。

+0

まだどのタグについてお話しているのですか?それはカスタムタグかそれの ''であり、アクションクラスのコードとそのタグの詳細を投稿してください。 –

答えて

0

あなたが正しく理解していれば、JSPページでOGNLを使用してリストを表現する際に問題があります。フィールド名はYourListName[index].propertyの形式にする必要があります。次に、OGNLはYourListNameという名前のリストと、indexという要素を持っていて、その入力に値があるpropertyを持っていることを理解します。

以下の例を参照してください。

<table> 
<s:iterator value="ListOfpersons" status="status"> 
<tr> 
    <td><s:textfield name="ListOfpersons[%{#status.index}].firstname"/></td> 
    <td><s:textfield name="ListOfpersons[%{#status.index}].lastname"/></td> 
    <td><s:textfield name="ListOfpersons[%{#status.index}].age"/></td> 
    <td><s:textfield name="ListOfpersons[%{#status.index}].sex"/></td> 
</tr> 
</s:iterator> 
</table> 
+2

Listオブジェクトは、MapでなければJSPで簡単に査読できます。オブジェクトはスタックの先頭に配置され、 'firstName'などのように簡単に参照できます。 –

+0

@UmeshAwasthi私に例を示すことができますか? – batbaatar

+0

文書の例を参照してください。 http://www.struts.apache.org/2.3.1/docs/iterator.html –

0

短い答えを:リクエストに情報を格納し、JSPでそれにアクセスします。

長い回答:

  1. を(、あなたのケースでアクション)をサーブレットでいくつかのオブジェクトを作成します。
  2. オブジェクトをいくつかのJSPスコープ(HttpServletRequest.setAttribute())に格納します。
  3. リクエストをJSPページに転送(ディスパッチ)します(これはstrutsの設定であり、すでにこれを行っています)。
  4. JSPページで、変数を参照します(おそらく、c:outタグを使用するか、JSPページのテキストでEL式を使用するだけです)。ただ

    <span>The value of the Blammy variable is this here thing: ${Blammy}</span> 
    

    または

    <span>The value of the Blammy variable is this here thing: <c:out value="${Blammy}"/></span> 
    

    あなたが基本的な概念をダウンしたら、:

いくつかのコード(ストラット1.xの):JSPでは

class Blah extends Action 
{ 
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) 
    { 
    ... do stuff 
    request.setAttribute("Blammy", "Blammy Value"); 
    ... return some ActionForward. 
    } 
} 

問題のListでリクエスト属性を設定してアクセスしてくださいJSPでiteratorタグを使用します。

+0

ありがとうございました –

関連する問題