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

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

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

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

</c:forEach>
第二个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:

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

3.赋值

猜你喜欢

转载自blog.csdn.net/weixin_44619313/article/details/90287152
今日推荐