浅谈JSP表单中的form传值


不同JSP页面之间、不同action之间,以及JSP中form与其对应的action之间,JSP中form与其不对应的action之间如何传值。本文将介绍JSP表单中的form传值。

JSP表单中的form传值

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

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

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

(3)通过JSP表单Session将数据提交到后续页面,session是一次会话只要浏览器不关闭就不会关闭会话,一般默认保存30分钟可以根据自己的需要更改 。

例:

  1. 01.html  
  2. <html> 
  3. <head> 
  4. <title>利用表单传递数据</title> 
  5. </head> 
  6. <body> 
  7. <h3>利用表单传递数据</h3> 
  8. <form name="form1" method="post" action="02.jsp"> 
  9. <p>你的姓名:  
  10.      <input type="text" name="name"> 
  11. </p> 
  12. <p>你的爱好:  
  13.      <input type="text" name="hobby"> 
  14. </p> 
  15. <p>你所从事的行业:  
  16.      <select name="work"> 
  17.            <option></option> <!--默认为空,从下拉菜单中选择--> 
  18.         <option value="学生">学生</option> 
  19.         <option value="IT业">IT业</option> 
  20.         <option value="商业">商业</option> 
  21.         <option value="制造业">制造业</option> 
  22.         <option value="服务业">服务业</option> 
  23.      </select> 
  24. </p> 
  25. <p> 
  26.      <input type="Submit" value="提交"> 
  27.      <input type="Reset" value="重置"> 
  28. </p> 
  29. </form> 
  30. </body> 
  31. </html> 
  32. 02.jsp  
  33. <html> 
  34. <head> 
  35. <title>从表单中获取数据</title> 
  36. </head> 
  37. <%@ page contentType="text/html;charset=GB2312"%> 
  38. <body> 
  39. <h3>从表单中获取数据</h3> 
  40. <p> 
  41. <%  
  42.    //从表单中获取数据  
  43.    String namerequest.getParameter("name");  
  44.    String hobby=request.getParameter("hobby");  
  45.    String workrequest.getParameter("work");  
  46.    //验证"名字(name)"的长度是否符合要求  
  47.    if(name.length()<3||name.length()>8)  
  48.       out.println("你输入的名字长度不符合要求");  
  49.    else  
  50.    {  
  51.       out.println("你的姓名是:"+name+"<br>");  
  52.         out.println("你的爱好是:"+hobby+"<br>");  
  53.       out.println("你所从事的工作是:"+work+"<br>");  
  54.       //将"名字(name)"保存到session对象中,让后续页面(下个页面、下下个页面、……)引用  
  55.       session.setAttribute("name",name);  
  56.    }  
  57. %> 
  58. <br> 
  59. <!--将"爱好(hobby)"和"工作(work)"以链接的形式传递给下个页面--> 
  60. <a href="03.jsp?hobby=<%=hobby%>&work=<%=work%>">提交</a> 
  61. </p> 
  62. <hr> 
  63. <p><font size="2">*将"名字(name)"保存到session对象中,让后续页面(下个页面、下下个页面、……)引用</font></p> 
  64. <p><font size="2">*将"爱好(hobby)"和"工作(work)"以链接的形式递给下个页面</font></p> 
  65. </body> 
  66. </html> 
  67. 3.jsp  
  68. <html> 
  69. <head> 
  70. <title>从session对象中获取"名字(name)"的值;从链接中获取"爱好(hobby)"和"工作(work)"</title> 
  71. </head> 
  72. <%@ page contentType="text/html;charset=GB2312"%> 
  73. <SCRIPT language="JavaScript"> 
  74.      function submit1()  
  75.         {  
  76.          document.forms["form1"].action="04.jsp";  
  77.         document.form1.submit();  
  78.         }  
  79.  
  80.         
  81.         function edit1()  
  82.         {  
  83.           document.forms["form1"].action="01.jsp";  
  84.        document.form1.submit();  
  85.         }  
  86. </SCRIPT> 
  87. <%@ page contentType="text/html;charset=GB2312" %> 
  88. <body> 
  89. <h3>从session对象中获取"名字(name)"的值;从链接中获取"爱好(hobby)"和"工作(work)"</h3> 
  90. <%  
  91.    String name=(String)session.getAttribute("name");  
  92.    String hobby=request.getParameter("hobby");  
  93.    String workrequest.getParameter("work");  
  94.    out.println("你的姓名是:"+name+"<br>");  
  95.    out.println("你的爱好是:"+hobby+"<br>");  
  96.    out.println("你所从事的工作是:"+work+"<br>");  
  97.    //将"爱好(hobby)"和"工作(work)"保存在session对象中  
  98.    session.setAttribute("hobby",hobby);  
  99.   session.setAttribute("work",work);  
  100. %> 
  101. <form name="form1" method="post"> 
  102. <input type="hidden" name="name" value="<%=name%>"> 
  103. <input type="hidden" name="hobby" value="<%=hobby%>"> 
  104. <input type="hidden" name="work" value="<%=work%>"> 
  105. <p><h3>确认提交这些信息吗?</h3></p> 
  106. <input type="Button" name="Submit" value="确认" onClick="javascript:submit1()"> 
  107. <input type="Button" name="Edit" value="修改" onClick="javascript:edit1()"> 
  108. </form> 
  109. <hr> 
  110. <p><font size="2">*将"爱好(hobby)"和"工作(work)"保存在session对象中,让后续页面(下个页面、下下个页面、……)引用</font></p> 
  111. <p><font size="2">*由于"名字(name)"在上个页面中已经保存在session对象中了,这里没必要再次保存</font></p> 
  112. </body> 
  113. </html> 
  114. 4.jsp  
  115. <html> 
  116. <head> 
  117. <title>从sessoin对象中获取数据</title> 
  118. </head> 
  119. <%@ page contentType="text/html;charset=GB2312" %> 
  120. <body> 
  121. <h3>从sessoin对象中获取数据</h3> 
  122. <%  
  123.    //从sessoin对象中获取数据  
  124.    String name=(String)session.getAttribute("name");  
  125.    String work=(String)session.getAttribute("work");  
  126.    String hobby=(String)session.getAttribute("hobby");  
  127. %> 
  128. <p> 
  129. <font color="#0000FF"><%=name%></font>,你好!你所从事的工作是<font color="#0000FF"><%=work%></font>,在业余时间喜欢<font color="#0000FF"><%=hobby%></font>。  
  130. </p> 
  131. </body> 
  132. </html> 
  133. 1.jsp  
  134. <html> 
  135. <head> 
  136. <title>利用表单传递数据</title> 
  137. </head> 
  138. <%@ page contentType="text/html;charset=GB2312" %> 
  139. <%  
  140.    String name=request.getParameter("name");  
  141.    String hobby=request.getParameter("hobby");  
  142.    String work=new String(request.getParameter("work").getBytes("ISO8859_1"),"GBK");  
  143. %> 
  144. <body> 
  145. <h3>利用表单传递数据</h3> 
  146. <form name="form1" method="post" action="02.jsp"> 
  147. <p>你的姓名:  
  148.      <input type="text" name="name" value="<%=name%>"> 
  149. </p> 
  150. <p>你的爱好:  
  151.      <input type="text" name="hobby" value="<%=hobby%>"> 
  152. </p> 
  153. <p>你所从事的行业:  
  154.      <select name="work"> 
  155.           <%if(work.equals("学生")){%> 
  156.         <option value="学生" selected>学生</option> 
  157.         <option value="IT业">IT业</option> 
  158.         <option value="商业">商业</option> 
  159.         <option value="制造业">制造业</option> 
  160.         <option value="服务业">服务业</option> 
  161.           <%}else if(work.equals("IT业")){%> 
  162.         <option value="学生">学生</option> 
  163.         <option value="IT业" selected>IT业</option> 
  164.         <option value="商业">商业</option> 
  165.         <option value="制造业">制造业</option> 
  166.         <option value="服务业">服务业</option> 
  167.           <%}else if(work.equals("商业")){%> 
  168.         <option value="学生">学生</option> 
  169.         <option value="IT业">IT业</option> 
  170.         <option value="商业" selected>商业</option> 
  171.         <option value="制造业">制造业</option> 
  172.         <option value="服务业">服务业</option> 
  173.           <%}else if(work.equals("制造业")){%> 
  174.         <option value="学生">学生</option> 
  175.         <option value="IT业">IT业</option> 
  176.         <option value="商业">商业</option> 
  177.        <option value="制造业" selected>制造业</option> 
  178.         <option value="服务业">服务业</option> 
  179.               <%}else if(work.equals("服务业")){%> 
  180.         <option value="学生">学生</option> 
  181.        <option value="IT业">IT业</option> 
  182.         <option value="商业">商业</option> 
  183.         <option value="制造业">制造业</option> 
  184.         <option value="服务业" selected>服务业</option> 
  185.               <%}%> 
  186.      </select> 
  187. </p> 
  188. <p> 
  189.      <input type="Submit" value="提交"> 
  190.      <input type="Reset" value="重置"> 
  191. </p> 
  192. </form> 
  193. </body> 
  194. </html> 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/353083.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

react.js从入门到精通(一)

web端三大框架react、vue和angular&#xff0c;下面是对react.js的一些总结。 一、环境搭建 1、npm搭建项目 推荐使用npm搭建项目环境&#xff0c;如果网速过慢&#xff0c;可是使用cnpm进行项目的搭建&#xff08;cnpm是淘宝的npm镜像&#xff0c;与npm有些差异&#xff0c;有…

java 代码冲突检测_Java中常见的代码冲突

java 代码冲突检测在工作中&#xff0c;最近我对现有Java项目进行了代码清理。 完成该练习后&#xff0c;我可以看到在代码中一次又一次地发生了一组常见的代码冲突。 因此&#xff0c;我想出了此类常见违规的清单&#xff0c;并与同行共享&#xff0c;以提高安全意识&#xff…

ubuntu 编译mysql_Ubuntu编译MySQL5

编译MySQL5源码提示 No curses/termcap library found&#xff0c;但安装curses termcap都提示已经安装。编译时加上路径即可解决&#xff0c;即./conf编译MySQL5源码提示 No curses/termcap library found&#xff0c;但安装curses termcap都提示已经安装。编译时加上路径即可…

WIN7下搭建FTP

步骤如下&#xff1a; 一、 二、 三、 四、 五、 六、 七、 八、 九、检验 注意&#xff1a;只有本机可以访问ftp&#xff0c;外部电脑无法访问ftp&#xff1f;可能是防火墙未关闭。

Android调用系统拍照裁剪和选图功能

最近项目中用到修改用户头像的功能,基本上都是模板代码,现在简单记录一下. 调用系统拍照private fun openCamera() { //调用相机拍照// 创建File对象&#xff0c;用于存储拍照后的图片var outputImage File(externalCacheDir, "output_image.jpg")try {if (outputI…

忘记番石榴:5个Google库Java开发人员应该知道的

什么是最有用但未知的Google Java库&#xff1f; 如果我们在激烈的黑客马拉松中阻止某人并要求她命名一个受欢迎的Google Java库&#xff0c;那么答案可能就是Guava。 这也就不足为奇了&#xff0c;因为它的主要重点是提高开发人员的生产力。 但是其他Google图书馆呢&#xff…

VS在win32平台与mysql链接_mysql5.5.28-win32 + qt--4.8.2-vs2008 数据库驱动编译与连接...

我们来编译配置qt的mysql数据库驱动&#xff0c;首先看看官方文档的说明&#xff0c;如下How to Build the QMYSQL Plugin on WindowsYou need to get the MySQL installation files.RunSETUP.EXEand choose "Custom Install".Install the "Libs & Include …

JAVA知识学习——类的修饰符

Java程序在定义类时&#xff0c;除了使用class关键字标识之外&#xff0c;还可以在class之前增加若干类的修饰符来修饰限定所定义的类的特性。类的修饰符分为访问控制符和非访问控制符两大类。修饰符之间的先后排列次序对类的性质没有任何影响。一&#xff0c;非访问修饰符。 1…

神秘的数组初始化_I / O神秘化

神秘的数组初始化由于对高度可扩展的服务器设计的所有炒作以及对Node.js的狂热&#xff0c;我一直想重点研究IO设计模式&#xff0c;直到现在为止都没有足够的时间进行投资。 现在已经做了一些研究&#xff0c;我认为最好记下我遇到的东西&#xff0c;作为对我以及可能遇到这篇…

mysql characteristic_MySQL存储过程定义中的特性(characteristic)的含义

MySQL的存储过程蛮啰嗦的&#xff0c;与MSSQL或者Oracle的存储过程相比&#xff0c;如果没有显式指定&#xff0c;他会隐含地指定一系列特性(characteristic)的默认值来创建存储过程通常在使用图形界面工具进行存储过程编写的时候&#xff0c;图形界面工具会自动加上这部分内容…

hive 案例分析

转自 http://www.cnblogs.com/guanhao/p/5641675.html 1. 创建数据库&#xff0c;切换数据库 create database testdb2; use testdb2; 2. 创建管理表 create table emp( empno int, empname string, job string, mgr int, hiredate string, salary double, comm double, deptn…

BeanUtils包的使用

BeanUtils工具包是由Apache公司所开发&#xff0c;主要是方便程序员对Bean类能够进行简便的操作。 在使用BeanUtils工具包之前我们需要的Jar包有以下几种&#xff1a; (1) BeanUtils相关包 commons-beanutils-1.8.3.jar commons-beanutils-1.8.3-javadoc.jar commons-beanuti…

使用JMX作为Ganglia的现代替代品进行CLDB监视

有许多选项可用于监视MapR集群的性能和运行状况。 在本文中&#xff0c;我将介绍使用Java管理扩展&#xff08;JMX&#xff09;监视CLDB的鲜为人知的方法。 据最受尊敬的MapR数据工程师之一&#xff0c;Akihiko Kusanagi称&#xff0c;与使用Ganglia相比&#xff0c;使用JMX来…

python 多线程并发怎么还是顺序执行_python thread 并发且顺序运行示例

python怎么实现用多线程顺序执行python 的GIL规定每个时刻只能有一个线程访问python虚拟机,所以你要用python的多线程来做计算是很不合算的,但是对于IO密集型的应用,例如网络交互来说,自己把自己说服了&#xff0c;是一种理智的胜利&#xff1b;自己被自己感动了&#xff0c;是…

markdown pad激活

<iframe src"https://cn.calcuworld.com/%e5%8d%81%e5%85%ad%e8%bf%9b%e5%88%b6%e8%ae%a1%e7%ae%97%e5%99%a8?iframe1" width"100%" height"400"></iframe> ---恢复内容开始--- 注册码 Soar360live.com GBPduHjWfJU1mZqcPM3BikjYKF…

Java 文件上传组件 Apache Commons FileUpload 应用指南(二)——FileUpload如何工作?

在最初的 http 协议中&#xff0c;没有上传文件方面的功能。RFC1867&#xff08;"Form-based File Upload in HTML".&#xff09; 为 http 协议添加了这个功能。客户端的浏览器&#xff0c;如 Microsoft IE, Mozila, Opera 等&#xff0c;按照此规范将用 户指定的文件…

pytest单侧模块_入门汇总

Pytest简单介绍 &#xff08;pytest是python的一个测试框架&#xff0c;主要是用来进行一些小的测试&#xff09; 安装&#xff1a;pip install -U pytest查看是否安装成功&#xff1a;pytest --version运行&#xff1a;在当前文件所在目录下执行pytest&#xff0c;会寻找当前目…

pythonreshape函数三个参数_详解numpy.ndarray.reshape()函数的参数问题

我们知道numpy.ndarray.reshape()是用来改变numpy数组的形状的&#xff0c;但是它的参数会有一些特殊的用法&#xff0c;这里我们进一步说明一下。代码如下&#xff1a;import numpy as npclass Debug:def __init__(self):self.array1 np.ones(6)def mainProgram(self):print(…

javafx 和swing_集成JavaFX和Swing

javafx 和swing我刚刚完成了对使用Swing的应用程序组件的重写&#xff0c;现在正在使用JavaFX&#xff0c;最后得到了与更大的swing应用程序集成的JavaFX组件。 这是一个很大的应用程序&#xff0c;重写花了我一段时间&#xff0c;最后一切都很好&#xff0c;我很高兴自己做到了…

servlet.jar--jar not loaded错误

出错信息&#xff1a;validateJarFile(D:\Program Files\apache-tomcat-6.0.29\webapps\BookShop\WEB-INF\lib\servlet.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class 造成这种错误的原因有两个&#xff1a;serv…