//原文件: cz1.jsp <%@ page language="java" contentType="text/html;charset=gb2312"%> <% String[] str_test = {"0","1"}; String str_test1 = "你好!"; %> <html> <head><title>参数传值1</title></head> <h1>参数传值1</h1> <body> <form method=post action="cz2.jsp?param1=<%=str_test%>¶m2=<%=str_test1%>"> <input type="submit" value="传值开始1" name="B1"> </form> </body> </html> cz2.jsp <%@ page language="java" contentType="text/html;charset=gb2312"%> <html><head><title>传值结果显示: </title><head> 传递的是一个字符串数组和一个字符串<BR><BR> <% //第一个数组参数 String[] strArray = request.getParameterValues("param1"); for (int i = 0; i < strArray.length; i++) { out.println(strArray[i]); } //第二个字符串参数 String getstr = new String(request.getParameter("param2").getBytes("ISO-8859-1"),"gb2312"); %> <BR>得到的字符串:<%=getstr%> </html> //显示结果: 传递的是一个字符串数组和一个字符串 [Ljava.lang.String;@4b9a74 得到的字符串: 你好! //问题: 1。如果定义一个字符串数组,我不定义维数,怎样对它进行初始化? 2。从显示结果中看传递的数组怎么会是“[Ljava.lang.String;@4b9a74 ” 这个乱码,我需要显示“0”和“1”呀? 3。想请问一下这几个函数到底怎么用,最好给出源程序!! 1>.request.getParameterValues() 2>.request.getParameterNames() 3>.request.setAttribute("name","value"); 4>.request.getAttribute("name"); 特别是3>.4>.这两个函数到底是干什么的? 4。请问哪里有JSP的库函数手册可以下载,最好有源代码说明,请各位老师推荐一下!! --------------------------------------------------------------- getAttributeNames(); 该方法可以返回和当前Request对象所绑定的每一个属性的名字。返回的是一个枚举对象。 例如,上一个页面有多个参数传递到下一个页面,然后利用下面的代码得到,代码仅供参考: <% Enumeration enum=request.getAttributeNames(); while(enum.hanMoreElements()) { String attributeName=(String)enum.nextElement(); out.print(attributeName); %>name<br><% String attributeValue=(String)request.getAttribute(attributeName); out.print(attributeValue); %>value<br><% } %> getAttribute("name") 该方法返回参数name所指定的属性值 getParameterValues("name") 使用这个方法可以获得客户端向服务器端传送的指定参数的所有值,返回的是一个字符串数组,但是这种方法很少用。相对它来说getParameter("name")这个方法得到的是getParameterValues("name")的第一个值。 setAttribute("name","value") 将参数name和它的值与当前的Request对象绑定起来,然后在下一个页面可以用getAttribute("name")得到name的值。 --------------------------------------------------------------- <form method=post action="cz2.jsp?param1=<%=str_test[0]%>¶m1==<%=str_test[1]%>¶m2=<%=str_test1%>"> 这样可以通过 String param1[] = request.getParameterValues("param1"); 解析出param1的值,并存放在数组中。 --------------------------------------------------------------- 1.必须初始化 2.那是你的String[]的地址,应该是str_test[0],str_test[1] 3.request.getParameterValues() Returns an array of String objects containing all of the values the given request parameter has, or null if the parameter does not exist. 返回request中所有参数的值,是一个String[],比如你这应该是"0"和"1",如果没设定就是null getParameterNames() Returns an Enumeration of String objects containing the names of the parameters contained in this request 返回request中所有的参数名,是Enumeration,你这是"param1"和"param2"两个String setAttribute(java.lang.String name,java.lang.Object o) Stores an attribute in this request. 在request中存储一个属性,设定它的name,o是存储的对象 request.getAttribute("name"); Returns the value of the named attribute as an Object, or null if no attribute of the given name exists 取得名字为name的属性的值,如果不存在,返回null request是一个在客户端和servlet传递信息的对象 4.下载servlet.jar的api或者j2ee的api