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

  • Post author:
  • Post category:其他


开发工具与关键技术: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;







u


s


e


r


s






v


a


r




=











u


s


e


r







>






<








t


r




>






<








t


d


w


i


d


t


h




=











5





{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;







u


s


e


r


.


u


s


e


r


n


a


m


e





<








/


t


d




>






<








t


d


w


i


d


t


h




=











5





{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.赋值



版权声明:本文为weixin_44619313原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。