【问题标题】:Can't figure it out how to <s:select>无法弄清楚如何 <s:select>
【发布时间】:2014-12-18 16:35:44
【问题描述】:

试图获取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.

例外:

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;

}

CompanyDAOHibernate:

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;

}

【问题讨论】:

  • 请发布具有 listAllCompanys() 方法的 java 文件
  • @Ramesh 刚刚发布了我的 java 文件。

标签: java hibernate jsp select struts2


【解决方案1】:

JSP 包含操作返回的选择标记。添加订单时,它应该有一个绑定到 bean 属性的 list 属性。它应该是值堆栈中的top 对象。

在大多数情况下,最好在动作类中初始化该属性以实现the preparable interface,您必须编写prepare() 方法并初始化列表。

抛出异常是因为s:select 标记的list 属性不能是null。在返回引用该变量的结果之前,您应该正确初始化用于标记的变量。

【讨论】:

  • 我可能有错误的休眠请求,它会导致此错误。我去看看。
猜你喜欢
  • 2013-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多