原文鏈接:http://blog.csdn.net/q_l_s/article/details/19637147
頁面間鏈接和數據傳遞的三種方式
(1)通過JSP表單form將數據提交到下一個頁面;
(2)通過JSP表單鏈接將數據提交到下一個頁面;
(3)通過JSP表單Session將數據提交到後續頁面,session是一次會話只要瀏覽器不關閉就不會關閉會話,一般默認保存30分鐘可以根據自己的需要更改 。
- 01.html
- <html>
- <head>
- <title>利用表單傳遞數據</title>
- </head>
- <body>
- <h3>利用表單傳遞數據</h3>
- <form name="form1" method="post" action="02.jsp">
- <p>你的姓名:
- <input type="text" name="name">
- </p>
- <p>你的愛好:
- <input type="text" name="hobby">
- </p>
- <p>你所從事的行業:
- <select name="work">
- <option></option> <!--默認爲空,從下拉菜單中選擇-->
- <option value="學生">學生</option>
- <option value="IT業">IT業</option>
- <option value="商業">商業</option>
- <option value="製造業">製造業</option>
- <option value="服務業">服務業</option>
- </select>
- </p>
- <p>
- <input type="Submit" value="提交">
- <input type="Reset" value="重置">
- </p>
- </form>
- </body>
- </html>
- 02.jsp
- <html>
- <head>
- <title>從表單中獲取數據</title>
- </head>
- <%@ page contentType="text/html;charset=GB2312"%>
- <body>
- <h3>從表單中獲取數據</h3>
- <p>
- <%
- //從表單中獲取數據
- String name= request.getParameter("name");
- String hobby=request.getParameter("hobby");
- String work= request.getParameter("work");
- //驗證"名字(name)"的長度是否符合要求
- if(name.length()<3||name.length()>8)
- out.println("你輸入的名字長度不符合要求");
- else
- {
- out.println("你的姓名是:"+name+"<br>");
- out.println("你的愛好是:"+hobby+"<br>");
- out.println("你所從事的工作是:"+work+"<br>");
- //將"名字(name)"保存到session對象中,讓後續頁面(下個頁面、下下個頁面、……)引用
- session.setAttribute("name",name);
- }
- %>
- <br>
- <!--將"愛好(hobby)"和"工作(work)"以鏈接的形式傳遞給下個頁面-->
- <a href="03.jsp?hobby=<%=hobby%>&work=<%=work%>">提交</a>
- </p>
- <hr>
- <p><font size="2">*將"名字(name)"保存到session對象中,讓後續頁面(下個頁面、下下個頁面、……)引用</font></p>
- <p><font size="2">*將"愛好(hobby)"和"工作(work)"以鏈接的形式遞給下個頁面</font></p>
- </body>
- </html>
- 3.jsp
- <html>
- <head>
- <title>從session對象中獲取"名字(name)"的值;從鏈接中獲取"愛好(hobby)"和"工作(work)"</title>
- </head>
- <%@ page contentType="text/html;charset=GB2312"%>
- <SCRIPT language="JavaScript">
- function submit1()
- {
- document.forms["form1"].action="04.jsp";
- document.form1.submit();
- }
- function edit1()
- {
- document.forms["form1"].action="01.jsp";
- document.form1.submit();
- }
- </SCRIPT>
- <%@ page contentType="text/html;charset=GB2312" %>
- <body>
- <h3>從session對象中獲取"名字(name)"的值;從鏈接中獲取"愛好(hobby)"和"工作(work)"</h3>
- <%
- String name=(String)session.getAttribute("name");
- String hobby=request.getParameter("hobby");
- String work= request.getParameter("work");
- out.println("你的姓名是:"+name+"<br>");
- out.println("你的愛好是:"+hobby+"<br>");
- out.println("你所從事的工作是:"+work+"<br>");
- //將"愛好(hobby)"和"工作(work)"保存在session對象中
- session.setAttribute("hobby",hobby);
- session.setAttribute("work",work);
- %>
- <form name="form1" method="post">
- <input type="hidden" name="name" value="<%=name%>">
- <input type="hidden" name="hobby" value="<%=hobby%>">
- <input type="hidden" name="work" value="<%=work%>">
- <p><h3>確認提交這些信息嗎?</h3></p>
- <input type="Button" name="Submit" value="確認" onClick="javascript:submit1()">
- <input type="Button" name="Edit" value="修改" onClick="javascript:edit1()">
- </form>
- <hr>
- <p><font size="2">*將"愛好(hobby)"和"工作(work)"保存在session對象中,讓後續頁面(下個頁面、下下個頁面、……)引用</font></p>
- <p><font size="2">*由於"名字(name)"在上個頁面中已經保存在session對象中了,這裏沒必要再次保存</font></p>
- </body>
- </html>
- 4.jsp
- <html>
- <head>
- <title>從sessoin對象中獲取數據</title>
- </head>
- <%@ page contentType="text/html;charset=GB2312" %>
- <body>
- <h3>從sessoin對象中獲取數據</h3>
- <%
- //從sessoin對象中獲取數據
- String name=(String)session.getAttribute("name");
- String work=(String)session.getAttribute("work");
- String hobby=(String)session.getAttribute("hobby");
- %>
- <p>
- <font color="#0000FF"><%=name%></font>,你好!你所從事的工作是<font color="#0000FF"><%=work%></font>,在業餘時間喜歡<font color="#0000FF"><%=hobby%></font>。
- </p>
- </body>
- </html>
- 1.jsp
- <html>
- <head>
- <title>利用表單傳遞數據</title>
- </head>
- <%@ page contentType="text/html;charset=GB2312" %>
- <%
- String name=request.getParameter("name");
- String hobby=request.getParameter("hobby");
- String work=new String(request.getParameter("work").getBytes("ISO8859_1"),"GBK");
- %>
- <body>
- <h3>利用表單傳遞數據</h3>
- <form name="form1" method="post" action="02.jsp">
- <p>你的姓名:
- <input type="text" name="name" value="<%=name%>">
- </p>
- <p>你的愛好:
- <input type="text" name="hobby" value="<%=hobby%>">
- </p>
- <p>你所從事的行業:
- <select name="work">
- <%if(work.equals("學生")){%>
- <option value="學生" selected>學生</option>
- <option value="IT業">IT業</option>
- <option value="商業">商業</option>
- <option value="製造業">製造業</option>
- <option value="服務業">服務業</option>
- <%}else if(work.equals("IT業")){%>
- <option value="學生">學生</option>
- <option value="IT業" selected>IT業</option>
- <option value="商業">商業</option>
- <option value="製造業">製造業</option>
- <option value="服務業">服務業</option>
- <%}else if(work.equals("商業")){%>
- <option value="學生">學生</option>
- <option value="IT業">IT業</option>
- <option value="商業" selected>商業</option>
- <option value="製造業">製造業</option>
- <option value="服務業">服務業</option>
- <%}else if(work.equals("製造業")){%>
- <option value="學生">學生</option>
- <option value="IT業">IT業</option>
- <option value="商業">商業</option>
- <option value="製造業" selected>製造業</option>
- <option value="服務業">服務業</option>
- <%}else if(work.equals("服務業")){%>
- <option value="學生">學生</option>
- <option value="IT業">IT業</option>
- <option value="商業">商業</option>
- <option value="製造業">製造業</option>
- <option value="服務業" selected>服務業</option>
- <%}%>
- </select>
- </p>
- <p>
- <input type="Submit" value="提交">
- <input type="Reset" value="重置">
- </p>
- </form>
- </body>
- </html>