jsp与jsp之间传值、以及乱码问题

开发工具与关键技术:MyEclipse 10、java
作者:梁添荣
撰写时间:2019-5-17

我们通常用EL表达式在servlet与jsp之间传值,但有时想,一个jsp的值想传到另一个jsp里去,除了通过传servlet再传另一个jsp方法外,还可以直接一个jsp的值直接传另一个jsp里去,从而实现修改的数据回填

第一个jsp:点击修改转到另一个jsp,并传值
u s e r s " v a r = " u s e r " > < t r > < t d w i d t h = " 5 {users}" var="user"> <tr> <td width="5%" class="td_title"> users"var="user"><tr><tdwidth="5{user.userd }
u s e r . u s e r n a m e < / t d > < t d w i d t h = " 5 {user.username }</td> <td width="5%" class="td_title"> user.username</td><tdwidth="5{user.password }
新增
修改
删除


第二个jsp:写方法接受值
<%
String userd=request.getParameter(“userd”);
String username=request.getParameter(“username”);
String password=request.getParameter(“password”);
%>
传值:
id:
姓名:
密码:
由于是url带参数传值,如果值为中文,则出现乱码,可把值用getBytes(“8859_1”)转换成字节数组,然后用new String()把字节数组再转为UTF-8编码的字符串即可
Ps:即使是jsp在url带值传servlet里,也会乱码,此方法同样适用
上面的代码改为:
<%
String userd=new String(request.getParameter(“userd”).getBytes(“8859_1”),“UTF-8”);
String username=new String(request.getParameter(“username”).getBytes(“8859_1”),“UTF-8”);
String password=new String(request.getParameter(“password”).getBytes(“8859_1”),“UTF-8”);
%>
效果图:
传值页
jsp与jsp之间传值、以及乱码问题_第1张图片
接受页
在这里插入图片描述

总结:jsp传值到另一个jsp

  1. 第一个jsp:

2.第二个jsp
接受值:
<%
String username=request.getParameter(“username”);
%>
Ps:若值是中文:则必须转换字符串
String username=new String(request.getParameter(“username”).getBytes(“8859_1”),“UTF-8”);

3.赋值

你可能感兴趣的:(jsp与jsp之间传值、以及乱码问题)