我是Struts的新手。我想在JSP页面上向用户显示表中的所有详细信息。
这是我的代码:
public class ListeActeurAction extends Action{
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest req, HttpServletResponse res) throws Exception {
System.out.println("Action");
ListeActeur ListeActeur= (ListeActeur) form;
String query = "select nomActeur from Acteur " ;
ListeActeur.setLis( HibernateUtil.ListeActeur(query, req));
req.setAttribute("ListeActeur", ListeActeur.getLis()) ;
return mapping.findForward("s");
methode:HibernateUtil.ListeActeur(query, req)
public static List <Acteur> ListeActeur(String query,HttpServletRequest req){
System.out.print("hutil");
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Iterator results = session.createSQLQuery(query).list().iterator();
List <Acteur> list = new ArrayList<Acteur>();
while((results.hasNext()))
{
Acteur gg =new Acteur();
//Object[] row = (Object[]) results.next();
//gg.setActeurId((Integer)row[0]);
gg.setNomActeur(( java.lang.String)results.next());
list.add(gg);
}
req.getSession(true).setAttribute("ListeActeur", list);
session.getTransaction().commit();
HibernateUtil.getSessionFactory().close();
return list;
}
形式:listeActeur
public class ListeActeur extends ActionForm {
private List <Acteur> lis = new ArrayList<Acteur>();
public List <Acteur> getLis(){System.out.println("gets");return lis;}
public void setLis(List <Acteur> lis){System.out.println("set");this.lis=lis;}
public ListeActeur()
{super () ;}
代码显示空白页面。甚至桌子也不会显示。
有人可以帮忙吗?
我的jsp的代码
<html:form action="Liste" > <table>
<logic:iterate name="ListeActeur" property= "lis" id="Acteur" >
<td><b>Nom Acteur:<bean:write name="Acteur" property="nomActeur"/></b> <br></td>
<td><b>Adresse IP :<bean:write name="Acteur" property="adresseIp"/></b> </b> </td>
</tr>
我不明白我做错了什么,请帮忙。谢谢!
答案 0 :(得分:1)
jsp表单中的字段将由Action表单类表示。你需要配置它。因此,当您提交jsp表单时,将创建操作表单对象。
使用该Actionform对象查询数据库并将数据保存在您选择的集合中。
在jsp页面中访问此集合以显示数据。