Не могу понять, как ‹s:select›

Пытаюсь получить список компаний в 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;

}

person RomZes13    schedule 23.10.2014    source источник
comment
Пожалуйста, опубликуйте файл Java, который имеет метод listAllCompanys()   -  person Ramesh    schedule 23.10.2014
comment
@Ramesh только что опубликовал мой java-файл.   -  person RomZes13    schedule 25.10.2014


Ответы (1)


JSP содержит тег select, возвращаемый действием. Когда вы добавляете заказ, он должен иметь атрибут list, связанный со свойством компонента. Это должен быть объект top в стеке значений.

В большинстве случаев инициализацию этого свойства в классе действия лучше реализовать the preparable interface. где вы должны написать метод prepare() и инициализировать список.

Исключение выдается, потому что атрибут list тега s:select не может быть null. Вы должны правильно инициализировать переменную, используемую для тега, прежде чем возвращать результат, содержащий ссылки на эту переменную.

person Roman C    schedule 23.10.2014
comment
Вероятно, у меня неправильный запрос на гибернацию, и это вызывает эту ошибку. Я проверю это. - person RomZes13; 25.10.2014