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

    技术2022-05-20  56

    //原文件:     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


    最新回复(0)