尝试获取select
中的公司列表,但它给了我一个错误。
type Exception report
message tag 'select', field 'list', name 'workOrder.company': The requested list key
'listAllCompanys' could not be resolved as a collection/array/map/enumeration/iterator
type. Example: people or people.{name} - [unknown location]
description
The server encountered an internal error that prevented it from fulfilling this request.
异常(exception):
org.apache.jasper.JasperException: tag 'select', field 'list', name 'workOrder.company': The requested list key 'listAllCompanys' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:585)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
我的workOrder.jsp
文件包含:
<s:select list="listAllCompanys" listValue="companyName" name="workOrder.company"></s:select>
当我要添加新的工作订单时, select 中应该有一个可用的公司列表。
更新:
这是我的 listAllCompanies()
方法
public List<Company> getCompanyList() {
return companyList;
}
//////////////////////////////////////////
/////////////////////////////////////////
public List<Company> getListAllCompanys() {
return listAllCompanys;
}
private List<Company> listAllCompanys;
public String listAllCompanys() throws Exception
{
CompanyDaoHibernate dao = new CompanyDaoHibernate();
listAllCompanys = dao.getListOfCompanys();
return SUCCESS;
}
公司DAOHibernate
:
public List<Company> getListOfCompanys()
{
SessionFactory sf = HibernateUtil.getSessionFactory();
Session session = sf.openSession();
@SuppressWarnings("unchecked")
List<Company> returnList = (List<Company>)session.createCriteria(Company.class).list();
session.close();
System.out.println("Printing companies... "+returnList);
return returnList;
}
最佳答案
JSP 包含由操作返回的选择标记。当您添加订单时,它应该有一个绑定(bind)到 bean 属性的 list
属性。它应该是值堆栈中的top
对象。
在大多数情况下,在操作类中初始化该属性更好地实现 the preparable interface
您必须在其中编写 prepare()
方法并初始化列表。
抛出异常是因为 s:select
标记的 list
属性不能为 null
。在返回引用该变量的结果之前,您应该正确初始化用于标记的变量。
关于java - 无法弄清楚如何 <s :select>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26520811/