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