JSP里面有关参数传递地疑难 (收藏)

来源:互联网 发布:选股器软件 编辑:程序博客网 时间:2024/05/16 16:21

//原文件:  
   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%>&param2=<%=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]%>&param1==<%=str_test[1]%>&param2=<%=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

原创粉丝点击