使用struts2-iterator显示bean列表的内容

时间:2013-05-04 16:32:14

标签: list jsp struts2 iterator

我正在尝试显示包含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没有显示任何内容。怎么了?

1 个答案:

答案 0 :(得分:1)

InformeTaquitoscopio必须拥有以下内容:numEjercicio,numOKs,numKOs或公开属性。 该操作需要lInfTaq的getter或该属性是公共的。

然后以下内容应该有效:

<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来说非常重要。