页面间链接和数据传递的三种方式
(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>
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/anmei2010/archive/2009/04/30/4140216.aspx
分享到:
相关推荐
jsp表单的FORM传值 jsp是一种服务器端脚本语言,通过与HTML、XML等技术结合,可以生成动态网页。jsp表单的FORM传值是指在jsp页面中使用FORM表单来传递数据。在jsp中,使用<jsp:useBean>动作来使用javaBean,...
以上介绍了几种常用的JSP页面传值方式,包括使用表单、URL重写、JavaScript动态改变表单行为、JSP内置对象和标签库以及Cookie和Session。不同的场景下可以选择不同的方法来满足需求。在实际应用中,开发者还需要考虑...
1. 使用form表单传值:使用form表单的name属性来传递数据,例如:<form action="servlet" method="post"><input type="text" name="a"/></form> 2. 使用url后边的get传值:使用url后边的get参数来传递数据,例如:...
### JSP页面之间的传值详解 #### 一、引言 在Web开发中,数据的传递是一项基础且重要的任务。特别是在使用JSP技术时,如何有效地在不同的JSP页面或JSP与Servlet之间进行数据传输,是每个开发者都需要掌握的核心...
### 关于JSP页面间的传值 在JSP(Java Server Pages)开发中,页面间的传值是一项非常基础且重要的技术。它涉及到如何在不同页面之间传递数据,以实现页面间的数据共享。本文将根据提供的文件信息,详细介绍几种...
### JSP与Servlet之间的传值方法详解 #### 一、引言 在Web开发中,JSP(JavaServer Pages)和Servlet是两个重要的技术组成部分,它们通常被用来处理客户端请求并生成动态网页内容。为了实现功能更为复杂的应用,...
### JSP 页面间通过 Request/Session 传值详解 #### 一、背景介绍 在 Web 开发中,尤其是在 JavaServer Pages (JSP) 技术中,数据在不同页面之间的传递是一项基本且重要的功能。本篇文章将详细介绍如何利用 JSP 的 ...
在第一个页面中,可以使用`<form>`标签提交表单,或者通过JavaScript的`window.location.href`重定向并附带查询字符串。在第二个页面,可以通过`request.getParameter()`来获取这些参数。 2. **会话(Session)**:...
在Web开发中,JavaServer Pages (JSP) 和 Java Servlets 是常见的技术组合,用于构建动态、交互式的网页。在本场景中,我们探讨的是如何使用JSP通过Ajax(Asynchronous JavaScript and XML)发送JSON(JavaScript ...
### JSP与Servlet之间的传值详解 #### 一、引言 在Web开发中,Java Server Pages (JSP) 和 Servlet 是两种非常重要的技术。它们通常被用来构建动态网页和处理用户请求。JSP 主要负责展示层逻辑,而 Servlet 更多...
1. Form表单传递: 当用户在JSP页面上填写表单并提交时,表单数据会被封装到HttpServletRequest对象中,可以通过`request.getParameter()`方法获取。例如,对于`<input name="username" type="text" />`,在Servlet...
本文将深入探讨如何在不借助第三方库(如JSP Smart Upload)的情况下,解决文件上传中的传值问题。 #### 一、`multipart/form-data`简介 `multipart/form-data`是一种用于传输二进制数据的标准MIME类型,特别适用...
1. **Form表单传值**:这是最常见的方法,用户在JSP页面填写表单后提交,表单数据通过HTTP请求发送到Servlet。例如,有一个名为`staffdepartment`的输入字段,其值为部门ID。在Servlet中,你可以通过`...
在Java Web开发中,GET表单传值是常见的数据传输方式,主要用于页面间的数据传递,尤其是在实现分页搜索功能时尤为常见。这个标题所指的"Java中GET表单传值分页搜索功能"涉及了以下几个核心知识点: 1. **GET请求**...
在网页开发中,JSP(JavaServer Pages)是一种动态网页技术,用于生成交互式、响应式的Web应用程序。Servlet是Java编程语言中的一个类,用于扩展服务器的功能,处理HTTP请求。而jQuery是一个轻量级的JavaScript库,...
在JSP中通过表单提交或者URL请求参数,可以将数据传递给Action。 二、中文乱码问题 在JSP向Action传递中文数据时,可能会遇到乱码问题。这通常是由于字符编码设置不一致导致的。在JSP、Servlet容器配置以及Action类...
在JSP中,我们通常使用`<form>`标签定义表单,`action`属性指定处理该请求的Servlet。例如,一个简单的表单可能如下所示: ```jsp <form action="Enter" method="post"> 提交" /> </form> ``` 在后端的...
JavaScript可以改变隐藏字段的值,然后通过表单的POST或GET方法提交数据到JSP。示例代码如下: ```html <form name="insertForm" method="post" action="yourJSP"> ...
一、通过Form表单提交传值 客户端通过Form表单提交到服务器端,服务器端通过 Java代码 request.getParameter(String xx); 来取得参数(xx)为参数名称。 通过get/post方式进行提交 二、通过隐藏域传值 通过在表单中...