参数的传递,此例子为方便学习只从MyJsp3.jsp界面中传到Myjsp4.jsp中显示。就目前为止,个人接触的数据交换大概有两种情况:一是从jsp页面中,提交表单给Servlet,Servlet实例化JavaBean,并与数据库交互,然后将所得的结果传回jsp页面;二是直接调用Servlet与数据库交互,取出数据,将数据(参数)传回jsp界面。 此处所说的Servlet在struts中则是Action部分的操作了。
而无论是从jsp页面到jsp页面,还是Servlet(Action)到jsp页面,个人觉得其传参数(数据)的原理是一样的。都是通过request,session。。。来传递。现把相关标签代码帖下:
<MyJsp3.jsp>
- <body>
- 这是第三个JSP界面!<br>
- <!--page使用的是绝对路径-->
- <html:linkpage="/MyJsp4.jsp">链接</html:link><br>
- <%
- //简单集合的传递
- ArrayListlist=newArrayList();
- list.add("杨龙");
- list.add("好孩子");
- list.add("goodbye");
- session.setAttribute("boys",list);
- //集合里面含有JavaBean。
- ArrayListstus=newArrayList();
- Studentstu1=newStudent();stu1.setStuId("999");stus.add(stu1);//为方便,暂时不规范
- Studentstu2=newStudent();stu2.setStuId("888");stus.add(stu2);
- Studentstu3=newStudent();stu3.setStuId("777");stus.add(stu3);
- session.setAttribute("stus",stus);
- //JavaBean里面含有集合的遍历
- Studentstudent=newStudent();
- ArrayListmyList=newArrayList();
- myList.add("1596475");
- myList.add("1586475");
- student.setList(myList);
- session.setAttribute("student",student);
- //复杂集合的遍历
- HashMaphm=newHashMap();
- hm.put("param1","0001");
- hm.put("param2","002");
- hm.put("param3","003");
- session.setAttribute("paramList",hm);
- %>
- </body>
<MyJsp4.jsp>
- <body>
- 这是第四个JSP界面!<hr>
- 简单的集合遍历:
- <logic:iterateid="boy"name="boys">
- <bean:writename="boy"/>
- </logic:iterate><hr>
- 集合里面含有JavaBean,遍历:
- <logic:iterateid="stu"name="stus">
- <bean:writename="stu"property="stuId"/><!--表示遍历的是JavaBean里面的stuId属性-->
- </logic:iterate><hr>
- JavaBean里面含有集合的遍历(遍历集合)
- <logic:iterateid="stu"name="student"property="list"><!--表示遍历的是JavaBean里面的集合-->
- <bean:writename="stu"/>
- </logic:iterate><hr>
- HashMap的遍历(包括key和value)
- <logic:iterateid="element"name="paramList"><!--遍历每个元素-->
- <bean:writename="element"property="key"/><!--遍历key-->
- <bean:writename="element"property="value"/>
- </logic:iterate>
- </body>
Student类的属性如上篇笔记所示。