Привет все)
В общем такая проблема, не могу правильно подсунуть коллекцию для тега <html:select>. Описываю, что происходит, есть у меня jsp страничка на которой в таблице представлен некий список, есть линка Edit после ее нажатия, я должен попасть на следующую страницу, которая содержит те же поля, но теперь в виде формы, чтобы можно было редактировать. В линке Edit у меня передаются всякие идентификаторы, чтобы необходимые данные можно было выбрать и заполнить поля формы. И на одной из строчке у меня ComboBox, который надо заполнить, некоторыми значениями выбранными из БД, вот с ним то и проблема, ексепшен вылетает, а теперь по шагам: Значит после нажатия на линку Edit, срабатывает вот такой вот ActionClass | Код | public class LecturerInfEditAction extends Action { /* forward name="success" path="" */ private final static String SUCCESS = "success";
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { int id=Integer.parseInt(request.getParameter("id")); int htit_id=Integer.parseInt(request.getParameter("htit")); HttpSession session=request.getSession(); LecturerDAO lDAO=(LecturerDAO) session.getAttribute("connection"); try{ LecturerInfBean lEnfBean=new LecturerInfBean(); lEnfBean=lDAO.getLecturerById(id); ArrayList list=new ArrayList(); list=lDAO.getLecturersHtit(htit_id); request.setAttribute("lecturersHtit",list); request.setAttribute("lecturersInf",lEnfBean); }catch(SQLException ex){ return mapping.findForward("failed"); }; return mapping.findForward(SUCCESS); } }
|
в переменную list мы как раз возвращаем, список объектов, которые я хочу в combobox запузырить, в векторе находятся объекты вот такого бина
| Код | public class DataSubFaculBean { private int id; private String name; public int getId(){ return id; } public String getName(){ return name; } public void setId(int id){ this.id=id; } public void setName(String name){ this.name=name; } }
|
JSP моя выглядит вот таким вот образом | Код | <html:form action="save" method="POST" focus="sname"> <table> <tr class="even"><td><bean:message key="lecturer.sname"/></td><td><html:text name="lecturersInf" property="sname"/></td></tr> <tr class="even"><td><bean:message key="lecturer.htit"/></td><td><html:select property="id"><html:optionsCollection property="lecturersHtit" value="id" label="name" /></html:select></td></tr> </table> </html:form>
|
ну и он ругается, на то что я пытаюсь делать вот таким вот образом
| Код | javax.servlet.ServletException: No getter method available for property id for bean under name org.apache.struts.taglib.html.BEAN org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
|
Думал проблема в дом что я пытаюсь подсунуть ему вектор объектов, и он не может пробежаться по этой коллекции, по этому просто пробовал подсунуть один DataSubFaculBean объект, но ексепшен такой же:( Просмотрел примеры, а там в качестве бина, ActionForm используется и вообще не понятно как данные в select попадают, в сесию и реквест не добавляются, может пример просто мутный....
В общем то вопрос как мне правильно подсунуть данные в select ???? |