JSP页面数据传到另外一个JSP页面

     这其实有和写java类似,不过有两种方法可以达到目的。

     方法1、通过EL表达式

其实通过El表达式就很简单了,下面贴出我自己写的代码a传值传到b

a.jsp

<%@page import="com.bean.PageBean"%>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@taglib prefix ="c" uri ="http://java.sun.com/jsp/jstl/core"%> 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
      
    <title>a</title>
	<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
	 <script type="text/javascript">
				
			function undate(id,name,sex,email,tel,home,interest){
					
				document.forms[0].elements[0].value = id;
				document.forms[0].elements[1].value = name;
				document.forms[0].elements[2].value = sex;
				document.forms[0].elements[3].value = email;
				document.forms[0].elements[4].value = tel;
				document.forms[0].elements[5].value = home;
				document.forms[0].elements[6].value = interest;
				
				
				document.forms[0].action = '<c:url value="/JSP/Update.jsp"/>';
				
				document.forms[0].submit();
					
			
			}
	
	</script>
  </head>
  
  <body>
 
   <form method="post">
   		<input type="hidden" name="stu_ids">
		<input type="hidden" name="stu_name">
		<input type="hidden" name="stu_sex">
		<input type="hidden" name="stu_email">
		<input type="hidden" name="stu_tel">
		<input type="hidden" name="stu_home">
		<input type="hidden" name="stu_interest">
   
   	 <table width="750" align="center" border="2">
   	 
   	   <tr>			
   			<td ><input type = "checkbox" name = "all" onclick="checkAll(this)">全选</td>
   			<td>姓名</td>
   			<td>性别</td> 
   			<td>邮箱</td>
   			<td>手机号</td>
   			<td>家庭住址</td>
   			<td>兴趣爱好</td>
   			<td>操作</td>  		     
   		</tr>  	<!--把信息遍历出来,user是服务端返回的对象-->
   			<c:forEach items="${user}" var = "user">
   			<tr>
   			<td><input type = "checkbox" name ="stuid" value ="${user.id}"/></td>
   			<td>${user.name}</td>
   			<td>${user.sex}</td>  
   			<td>${user.email}</td>	
   			<td>${user.tel}</td>
   			<td>${user.home}</td>  
   			<td>${user.interest}</td>	
   			<td><!-- #默认的锚点是#top 也就是网页的上端 -->
	        	<!-- 而javascript:void(0)  仅仅表示一个死链 -->
	        	<a href="javascript:void(0)" onclick="undate('${user.id}','${user.name}',
	        	      '${user.sex}','${user.email}','${user.tel}','${user.home}','${user.interest}');">编辑</a></td> 		
   		     </tr>
   		      </c:forEach>
   		     
   	</table>  
   </form>
   
  </body>
</html>
b.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@taglib prefix ="c" uri ="http://java.sun.com/jsp/jstl/core"%> 

<!DOCTYPE html>
<html>
  <head>   
    <title>b</title>
  </head>
  <body  >
  <form  method = "post">

  <table align="center">
	<tr>
		<td>姓名:</td>	
		<td><input type = "text" name ="name" value ="${param.stu_name}" required="required"/></td>	
	</tr>
	<tr>
		<td>性别:</td>	
		<td><input type = "text" name ="name" value ="${param.stu_sex}" required="required"/></td>	
	</tr>
	<tr>
		<td>邮箱:</td>	
		<td><input type = "text" name ="name" value ="${param.stu_email}" required="required"/></td>	
	</tr>
	<tr>
		<td>手机号:</td>	
		<td><input type = "text" name ="name" value ="${param.stu_tel}" required="required"/></td>	
	</tr>
	<tr>
		<td>家庭住址:</td>	
		<td><input type = "text" name ="name" value ="${param.stu_home}" required="required"/></td>	
	</tr>
	<tr>
		<td>兴趣爱好:</td>	
		<td><input type = "text" name ="name" value ="${param.stu_interest}" required="required"/></td>	
	</tr>
	</table>
	</form>
  </body>
</html>
这个就算是超过5K的数据也能传了,而通过URL地址栏只能传不能超过5k的数据,建议传数据都用方法一,方法二只供参考

     方法2、下面这个方法是网上的

    页面传送数据有两种方式:
   1、get
    2、post

get传送数据的方法是:
<a href="b.jsp?type1=你要传递的数值1&type2=你要传递的数值2">传送数据到B页面</a>
当然你还可以在form中将method的属性值设置成get
譬如:
<form method="get" action="b.jsp">
  <inptu type="text" name="type1"/>
  <inptu type="text" name="type2"/>
 <inptu type="submit" name="submit"/>
</form>
两种方法传递数据的效果是一样的。

post方法传递数据:
<form method="post" action="b.jsp">
  <inptu type="text" name="type1"/>
  <inptu type="text" name="type2"/>
 <inptu type="submit" name="submit"/>
</form>

到了b页面接收数据的方法【不管是get还是post都是一样的】:
String type1=request.getParameter("type1");
String type2=request.getParameter("type2");
 
注意凡是接收的数据都是字符串,如果你传的是其他数据类型的,那就需要你转换,如果你传递的是中文的话,POST和GET 转码是不一样的,可能会有乱码的情况。

JSP页面数据传到另外一个JSP页面_第1张图片

你可能感兴趣的:(JavaScript,java,jsp,数据,经验)