【转】jsp 表单form传值

写的很好,看到了忍不住不转啊,希望可以分享一下~~

转载自http://blog.csdn.net/anmei2010/article/details/4140216

 

页面间链接和数据传递的三种方式

 (1)通过form将数据提交到下一个页面;

 (2)通过链接将数据提交到下一个页面;

 (3)通过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>

 

03.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>

 

04.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>

 

01.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>

 
posted @ 2014-03-30 15:22  连城测  阅读(626)  评论(0编辑  收藏  举报