在论坛上常看见有人问如何在jsp页面间传递数组,其实用javabean是很容易实现的. 下面给个简单的例子,只要遵循javabean的游戏规则,什么类型的数据结构都可以传递: 1:写一个测试用的javabean: package com.infoearth; public class JobBean{ private int[] b;
/** * @return 返回 b。 */ public int[] getB() { return b; } /** * @param b 要设置的 b。 */ public void setB(int[] b) { this.b = b; } } 2:在第一个jsp页面中(注意文本框的name都是"b"): <form action="manageJob.jsp" method="post"> <table> <tr> <td width="50" height="30"> </td> <td width="50" height="30"><input name="b" type="text" size="3"></td> <td width="50" height="30"><input name="b" type="text" size="3"></td> <td width="50" height="30"><input name="b" type="text" size="3"></td> <td width="50" height="30"><input name="b" type="text" size="3"></td> <td width="50" height="30"><input name="b" type="text" size="3"></td> <td width="50" height="30"><input name="b" type="text" size="3"></td> <td width="50" height="30"><input name="b" type="text" size="3"></td> <td width="50" height="30"><input name="b" type="text" size="3"></td> <td width="50" height="30"><input name="b" type="text" size="3"></td> <td width="50" height="30"><input name="b" type="text" size="3"></td> <td width="50" height="30"><input name="b" type="text" size="3"></td> </tr> </table> <input type="submit" value="提交"> </form> 3:在manageJob.jsp页面中,就可以接受这个数组了,很简单,用get方法就可以得到: <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*, com.infoearth.*"
errorPage="" %> <jsp:useBean id="jobInfo" class="com.infoearth.JobBean" scope="request"> <jsp:setProperty name="jobInfo" property="*"/> </jsp:useBean> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>无标题文档</title> </head> <body> hello <% int[] temp=jobInfo.getB(); for(int i=0;i<temp.length;i++){ out.print(i+"---"+temp[i]+"<br>");
} %> </body> </html> 请注意javabean的内部机制:在javabean中命名的数组名为b,那么在第一个jsp中,填写数组b的文本框必须命名为b,否则就得不到! 这是javabean的游戏规则 呵呵,但愿对你有帮助 
|