不同JSP页面之间、不同action之间,以及JSP中form与其对应的action之间,JSP中form与其不对应的action之间如何传值。本文将介绍JSP表单中的form传值。
页面间链接和数据传递的三种方式
(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>