我使用eclipse来实现原生的Struts和hybernate,它支持一个应用程序在一个页面中显示一系列链接。我得到了一个错误:
javax.servlet.jsp.JspException: Cannot find bean: "ListeActeur" in scope: "session"我查看了很多网站和论坛,似乎没有什么能解决这个问题。
我的struts-config:
<struts-config>
<form-beans type="org.apache.struts.action.ActionFormBean">
<form-bean name="ListeActeur" type="mesForms.strust.ListeActeur"/>
<form-bean name="vérifCritère" type="mesForms.strust.vérifCritère"/>
</form-beans>
<action-mapping>
</action>
<action path="/Liste"
parameter="/vue/Invitation.jsp"
name="ListeActeur scope="request validate="false"
type="mesAction.struts.ListeActeurAction">
<forward name="s" path="/vue/NewFile.jsp" redirect="false" />
</action>
</action-mappings>
</struts-config>ListeActeurAction:
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest req, HttpServletResponse res) throws Exception {
System.out.println("Action");
ListeActeur ListeActeur= (ListeActeur) form;
String query = "select * from Acteur " ;
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Iterator results = session.createSQLQuery(query).list().iterator();
List <Acteur> lis = new ArrayList<Acteur>();
while((results.hasNext()))
{
Acteur gg =new Acteur();
Object[] row = (Object[]) results.next();
gg.setActeurId((Integer)row[0]);
gg.setNomActeur((String)row[2]);
lis.add(gg);
}
req.getSession(true).setAttribute("lis", lis);
session.getTransaction().commit();
HibernateUtil.getSessionFactory().close();
ListeActeur.setLis( lis);
req.setAttribute("formu", ListeActeur.getLis());
return mapping.findForward("s");
}
}ListeActeur:
public class ListeActeur extends ActionForm {
private List <Acteur> lis=null;
public List <Acteur> getLis(){
return lis;}
public void setLis(List <Acteur> lis){this.lis=lis;}
public void reset(ActionMapping mapping, HttpServletRequest request) {
lis = new ArrayList<Acteur>();
}我真的不知道该怎么办。我是Struts.Thanks的新手!
发布于 2012-05-28 00:55:08
你有
<action path="/Liste" scope="request" .../>和
<logic:iterate ... scope="session" >难怪你会得到这个异常。如果将Struts配置为将表单bean存储在请求中,则不要尝试从JSP中的会话中获取它。
https://stackoverflow.com/questions/10775647
复制相似问题