struts之logic:iterate

    技术2022-05-11  158

    在写之前先看看 以前用<logic:iterate>实现把数据库中的数据展现: [MainForm.jsp文件] public class MainForm extends {   private List list;   private String bookname;   private String bookauther;   private String publish;   ........} [BookAction.java文件]     mainForm.setList(list); ...... [view.jsp文件]//展现数据库信息 .....     < logic:iterate id = " list "  name = " mainForm "  property = " list " >       < tr >       < td >< bean:write name = " list "  property = " bookname " /></ td >      < td >< bean:write name = " list "  property = " bookauther " /></ td >       < td >< bean:write name = " list "  property = " publish " /></ td >       </ tr >      </ logic:iterate > ..... 改进后---------------- [MainForm.jsp文件] public   class  MainForm  extends {   private String bookname;   private String bookauther;   private String publish;   ........} [BookAction.java文件] ......   ArrayList < MainForm >  list = new  ArrayList < MainForm > ();    while (rs.next()) {    MainForm dataView=new MainForm();//在这Form中不存在list属性    dataView.setBookname(rs.getString(1));    dataView.setBookauther(rs.getString(2));    dataView.setPublish(rs.getString(3));    list.add(dataView);   }    request.setAttribute( " list " ,list);...... [view.jsp文件]//展现数据库信息 .....     < logic:iterate id = " q1 "  name = " list "  type = " com.songbx.struts.form.MainForm " >       < tr >       < td >< bean:write name = " q1 "  property = " bookname " /></ td >      < td >< bean:write name = " q1 "  property = " bookauther " /></ td >       < td >< bean:write name = " q1 "  property = " publish " /></ td >       </ tr >      </ logic:iterate > ..... 总结:<logic:iterate>标签中的name属性首先从Form中取值,若没有,则request,接下来是session等 在此另注意一点:在用request传值时,在<forward>中一定不能是redirect="true",否则找不到list  

    最新回复(0)