我在用struts2 <iterator>
标记以在jsp中显示值。方法正在被调用,但未显示任何结果。它在控制台中打印我需要的所有数据,但不在jsp中打印。
我打电话来 localhost\listAddCompany.php
我做错了什么?
方法是这样的 listAllCompanys()
:
private List<Company> listAllCompanys;
Getters and setters...
public String listAllCompanys() throws Exception {
CompanyDaoHibernate dao = new CompanyDaoHibernate();
listAllCompanys = dao.getListOfCompanies();
System.out.println("Printing from CompanyManagmentAction...");
return SUCCESS;
}
``` `struts.xml` :
companyAddUpdate.jsp
这是我的 `companyAddUpdate.jsp` :
<s:form action="newCompany">
<s:actionerror/>
<s:textfield name="company.companyName" label="Company's name" />
<s:textfield name="company.address" label="Address" />
<s:textfield name="company.email" label="Email" />
<s:textfield name="company.website" label="Website" />
<s:textfield name="company.phoneNumber" label="Phone Number" />
<s:textfield name="company.comment" label="Comment" />
<s:textfield name="company.fax" label="Fax" />
<s:submit value="Register" />
</s:form>
<h2>Contacts</h2>
<s:iterator value="listAllCompanys" var="company">
</s:iterator>
1条答案
按热度按时间7eumitmz1#
迭代器标记迭代标记体中的所有内容。不会显示任何结果,因为迭代器标记体为空。对于需要数据才能工作的迭代器和其他struts标记,应该填充
value
属性并为变量提供getter。当然,如果您首先调用将结果返回给jsp的操作,这将起作用。在某些情况下,如果你有
validation
以及workflow
堆栈上的拦截器即使没有执行任何操作,action类也应该填充集合。例如,如果在提交表单后出现验证错误
input
返回结果。在这种情况下,您可以使您的操作类实现Preparable
把代码移到那里去填清单。这个
Company
类还应该有getter和setter。在jsp中: