我在JSP中使用<s:iterator>
标记来显示List
个人对象。
我尝试在动作类中创建ListOfPersons
作为List
,以及getter和setter。我仍然无法显示数据 - 我该怎么做?
<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>
答案 1 :(得分:0)
简答:将信息存储在请求中并在jsp中访问它。
更长的答案:
一些代码(struts 1.x):
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.
}
}
在JSP中:
<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>
一旦掌握了基本概念,只需使用问题List
设置一个请求属性,并使用JSP中的iterator标记访问它。