1

MVC フレームワークとして struts2 を使用していますが、問題がありました。問題はアクションにあります。「会社」と呼ばれるモデルを定義しました。その定義は次のとおりです。

class Company
{
  private String name;
  private String address;
  ...
  private List<Staff>staffs;
  ...
}

class Staff
{
   private String name;
   private int age;
   ....
}

アクションは次のとおりです

class Action
{
  private Company company;
  public String execute(){

  }
}

会社全体とスタッフの情報をビューに表示する方法 (ビューは JSP ファイルです) ? UI で期待するものは次のとおりです。

Company info
  company name                company address...
Staff 1 info
   staff name                 staff age...
Staff 2 info
   staff name                 staff age...

jspファイルの定義方法は?会社情報はOGNLで表示できたが、スタッフ情報はListなので番号が不明なのでどうする?

誰かが私にイテレータを使用できると言いましたが、私の要件は次のとおりです。UIにスタッフ情報を表示するだけでなく、スタッフを編集可能にしたいと考えています。たとえば、「フォーム」を次のように定義します

<s:form> 
    Company info: Company Name:<s:input name="company.name"/> Company Address:<s:input name="company.name"/> 
   Staff 1 info: .... 
   Staff 2 info: ... 
 <s:form> 

「フォーム」や「入力」でスタッフ情報を定義することはできますか?

4

3 に答える 3

1

IteratorStatus オブジェクトでインデックスを指定して、リストまたはマップの要素を指すことができます。

<s:property value="company.name"/>
<s:property value="company.address"/>

<s:iterator value="company.staffs" status="stat">

    <span>Staff <s:property value="%{#stat.index}" /> info: </span>

    <label>name: </label>
    <s:textfield name="company.staffs[%{#stat.index}].name" />

    <label>age: </label>
    <s:textfield name="company.staffs[%{#stat.index}].age" />

    <br/>

</s:iterator>
于 2013-04-10T07:46:06.323 に答える