1

Bean のオブジェクトを含むリストを表示しようとしています。リストを表示するために iterator タグを使用しています

/*JSP*/
<s:iterator value="lInfTaq" var="res">
<tr>
    <td><s:property value="#res.numEjercicio"/></td>
    <td><s:property value="#res.numOKs()"/></td>
    <td><s:property value="#res.numKOs"/></td>
</tr>
</s:iterator>


/*ACTION*/
public class TaquitoscopioAction extends ActionSupport{
 /* . . . */
List <InformeTaquitoscopio> lInfTaq;
/* Filled the list */


/*BEAN*/
public class InformeTaquitoscopio {
private String numEjercicio;
private String numOKs;
private String numKOs;
public InformeTaquitoscopio() {
  super();
  // TODO Auto-generated constructor stub
}
public InformeTaquitoscopio(String numEjercicio, String numOKs, String numKOs) {
super();
this.numEjercicio = numEjercicio;
this.numOKs = numOKs;
this.numKOs = numKOs;
}
/*getters and setters*/
}

しかし、jsp には何も表示されません。どうしたの?

4

1 に答える 1

1

InformeTaquitoscopio には、numEjercicio、numOKs、numKOs の getter が必要です。または、プロパティを公開する必要があります。このアクションには、lInfTaq の getter が必要であるか、プロパティが public である必要があります。

次に、以下が機能するはずです。

<s:iterator value="lInfTaq">
<tr>
    <td><s:property value="numEjercicio"/></td>
    <td><s:property value="numOKs"/></td>
    <td><s:property value="numKOs"/></td>
</tr>
</s:iterator>

個人的な話ですが、struts2 タグの var 属性はあまり好きではありません。変数をカバーするか、別のスコープに移動しようとしていることがわかります。イテレータをネストしていない場合、通常、イテレータに var 属性は必要ありません。この方法は確かに目にやさしいです。スタックを使用していることを理解していると仮定すると、これは struts2 にとって非常に基本的なことです。

于 2013-05-04T20:50:20.250 に答える