我是Struts 1.x的新手。我需要使用List<List<VO>>在JSP中迭代<logic: iterate>List<List<VO>>-在表单中定义

从中我可以获得外层列表。现在使用一个ID,我得到了内部列表。我的List<Vo>用来填充组合框。

如何从<logic:iterate>获取VO的属性?

最佳答案

自从我使用Struts 1.x已经有一段时间了,但是IIRC您应该能够从<logic:iterate>内部访问VO。

假设您在“操作”中有类似的内容(PersonForm是VO,并且其中包含电子邮件地址列表):

List<EmailAddress> emailAddresses = new ArrayList<EmailAddress>();
emailAddresses.add(new EmailAddress("[email protected]"));
emailAddresses.add(new EmailAddress("[email protected]"));

PersonForm personForm = new PersonForm();
personForm.setFirstName("Robert");
personForm.setEmailAddresses(emailAddresses);

request.setAttribute("myPersonForm", personForm );

然后在您的JSP中执行以下操作:
<logic:iterate name="myPersonForm" property="emailAddresses" id="email">
  <li><bean:write name="myPersonForm" property="firstName" /></li>
  <li><bean:write name="email" property="address"/></li>
</logic:iterate>

那应该打印出类似以下内容:
  • 罗伯特
  • [email protected]
  • 罗伯特
  • [email protected]
  • 07-24 09:18