第四章:Servlet中獲取表單form參數信息

一。方法html

    1.經過getParameter()得到參數,返回一個string類型java

    2.經過getParameterValues()得到參數,返回string[]數組數組

    3.經過getParameterNames()得到參數,返回Enumeration類型的值瀏覽器

    4.經過getParameterMap()得到參數,返回map(string, string[])編碼

二。示例code

public class TestServlet extends HttpServlet {
       private static final long serialVersionUID = 1711689663622072980L;
       protected void doGet(HttpServletRequest req,HttpServletResponse resp) throws IOException       {
              resp.setContentType("text/html;charset=UTF-8");
              PrintWriter out = resp.getWriter();
              out.println("<html>");
              out.println("<head>");
              out.println("<title>HttpSevlet得到參數的方法</title>");
              out.println("</head>");
              out.println("<body>");
              //設置接收參數所用的編碼
              req.setCharacterEncoding("UTF-8");
//經過getParameter()得到的參數
              out.println("getParameter()得到的參數<br>");
              String value = null;
              //得到name=「txt」表單控件的值
              value=req.getParameter("text");
              out.println("輸入框內輸入的值:"+value);
              out.print("<br>");
              //得到name="chk"的表單控件的值
              value=req.getParameter("checkbox");
              out.println("多選框選中的值:"+value);
              out.print("<br>");
              //得到name="sel"的表單控件的值
              value=req.getParameter("select");
              out.println("下拉框選中的值:"+value);
              out.print("<br>");
    
//經過getParameterValues()得到的參數
              out.println("getParameterValues()得到的參數<br>");
              String []paramValue = null;
              //得到name=「txt」表單控件的值
              paramValue=req.getParameterValues("text");
              if(paramValue!=null){
                     out.print("輸入框內輸入的值:");
                     for(int i=0;i<paramValue.length;i++){
                            out.print(paramValue[i]);
                            out.print("&nbsp;&nbsp;");
                     }
              }
              out.print("<br>");
              //得到name="chk"的表單控件的值
              paramValue=req.getParameterValues("checkbox");
              if(paramValue!=null){
                     out.print("多選框選中的值:");
                     for(int i=0;i<paramValue.length;i++){
                            out.print(paramValue[i]);
                            out.print("&nbsp;&nbsp;");
                     }
              }
              out.print("<br>");
              //得到name="sel"的表單控件的值
              paramValue=req.getParameterValues("select");
              if(paramValue!=null){
                     out.println("下拉框選中的值:");
                     for(int i=0;i<paramValue.length;i++){
                            out.println(paramValue[i]);
                            out.println("&nbsp;&nbsp;");
                     }
              }
              out.print("<br>");  
             
//經過getParameterMap()得到的參數
              out.println("getParameterMap()得到的參數<br>");
              //得到參數的Map
              Map paramMap = req.getParameterMap();
              Object o =null;
              String []val = null;
              //循環Map的key
              for(Iterator it = paramMap.keySet().iterator();it.hasNext();){
                     o=it.next();
                     out.print(o);
                     out.print(":");
                     //得到key對應的value
                     val=(String []) paramMap.get(o);
                     if(val != null){
                            for(int j=0;j<val.length;j++){
                                   out.println(val[j]);
                                   out.println("&nbsp;&nbsp;");
                            }
                     }
              }
              out.print("<br>");   
             
//經過getParameterNames()得到的參數
              out.println("getParameterNames()得到的參數<br>");
              //得到參數名稱枚舉
              Enumeration en = req.getParameterNames();
              for(;en.hasMoreElements();){
                     o=en.nextElement();
                     out.println(o);
                     out.println("&nbsp;&nbsp;");
              }
              out.print("<br>");
        
              out.println("</head>");
              out.println("</html>"); 
       }
//經過getParameterMap()得到的參數
        。。。。。。
       //設置瀏覽器端解析文件的方式爲html,字符碼
        resp.setContentType("text/html;charset=gb2312");
        pw = resp.getWriter();//得到輸出流
        Map<String, String[]> map = req.getParameterMap();
        //得到迭代器對象
	Iterator<Entry<String, String[]>> entries = map.entrySet().iterator();
	while(entries.hasNext()){
	//獲得下一個元素
	     Map.Entry entry = (java.util.Map.Entry) entries.next();
	     String key = (String) entry.getKey();//獲得鍵
	     String[] values = (String[])entry.getValue();//獲得值
	     if(values.length==1){//判斷鍵對應的值的個數是1
	    	   。。。。。。
	     }else{      //值的個數是多個
	    	   for (int i = 0; i < values.length; i++) {
	    	   	String value = values[i];   
                        。。。。。。
	    	   }
	      }
	}
}
相關文章
相關標籤/搜索