參數的傳遞,此例子為方便學習只從MyJsp3.jsp介面中傳到Myjsp4.jsp中顯示。就目前為止,個人接觸的資料交換大概有兩種情況:一是從jsp頁面中,提交表單給Servlet,Servlet執行個體化JavaBean,並與資料庫互動,然後將所得的結果傳回jsp頁面;二是直接調用Servlet與資料庫互動,取出資料,將資料(參數)傳回jsp介面。 此處所說的Servlet在struts中則是Action部分的操作了。
而無論是從jsp頁面到jsp頁面,還是Servlet(Action)到jsp頁面,個人覺得其傳參數(資料)的原理是一樣的。都是通過request,session。。。來傳遞。現把相關標籤代碼帖下:
<MyJsp3.jsp>
Code:
- <body>
- 這是第三個JSP介面! <br>
- <!-- page使用的是絕對路徑 -->
- <html:link page="/MyJsp4.jsp">連結</html:link><br>
- <%
- //簡單集合的傳遞
- ArrayList list=new ArrayList();
- list.add("楊龍");
- list.add("好孩子");
- list.add("goodbye");
- session.setAttribute("boys",list);
-
- // 集合裡面含有JavaBean。
- ArrayList stus=new ArrayList();
- Student stu1=new Student(); stu1.setStuId("999"); stus.add(stu1); //為方便,暫時不規範
- Student stu2=new Student(); stu2.setStuId("888"); stus.add(stu2);
- Student stu3=new Student(); stu3.setStuId("777"); stus.add(stu3);
- session.setAttribute("stus",stus);
-
- //JavaBean裡面含有集合的遍曆
- Student student=new Student();
- ArrayList myList=new ArrayList();
- myList.add("1596475");
- myList.add("1586475");
- student.setList(myList);
- session.setAttribute("student",student);
-
- //複雜集合的遍曆
- HashMap hm=new HashMap();
- hm.put("param1","0001");
- hm.put("param2","002");
- hm.put("param3","003");
- session.setAttribute("paramList",hm);
- %>
- </body>
<MyJsp4.jsp>
Code:
- <body>
- 這是第四個JSP介面! <hr>
- 簡單的集合遍曆:
- <logic:iterate id="boy" name="boys">
- <bean:write name="boy"/>
- </logic:iterate> <hr>
- 集合裡面含有JavaBean,遍曆:
- <logic:iterate id="stu" name="stus">
- <bean:write name="stu" property="stuId"/> <!-- 表示遍曆的是JavaBean裡面的stuId屬性 -->
- </logic:iterate><hr>
-
- JavaBean裡面含有集合的遍曆(遍曆集合)
- <logic:iterate id="stu" name="student" property="list"> <!-- 表示遍曆的是JavaBean裡面的集合 -->
- <bean:write name="stu" />
- </logic:iterate><hr>
-
- HashMap的遍曆(包括key和value)
- <logic:iterate id="element" name="paramList"><!-- 遍曆每個元素 -->
- <bean:write name="element" property="key" /> <!-- 遍曆key -->
- <bean:write name="element" property="value" />
- </logic:iterate>
- </body>
Student類的屬性如上篇筆記所示。