这其实有和写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" οnclick="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)" οnclick="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 转码是不一样的,可能会有乱码的情况。