struts2 转码的问题,在线等

时间:2021-07-13 18:37:42
jsp页面的代码:
<a id="aa" href='<s:url action="ModifyAction_init.do"><s:param name="projCode" value="projCode" /></s:url>'>
                                <s:property value="projCode" />
</a>

projCode赋值为“中文字符”后:


生成的HTML代码:
<a id="aa" href='/ReviewProj/ModifyAction_init.do?projCode=%E4%B8%AD%E6%96%87%E5%AD%97%E7%AC%A6'>
                                中文字符
                            </a>

但我想生成的HTML代码为:
<a id="aa" href='/ReviewProj/ModifyAction_init.do?projCode=中文字符'>---------------即不编码,怎么解决
                                中文字符
                            </a>

7 个解决方案

#1



<s:param name="projCode" ><s:property value="projCode" /></s:param>
这样试验过吗?

#2


param有个 private static String encoding有get和set方法的.

#3


http://www.oschina.net/uploads/doc/struts-2.1.2/org/apache/struts2/components/URL.html


<s:url>标签的问题,呵呵
encode (Boolean) - url encode the generated url. Defaults to 'true'.

<s:url encode="false">就好了

#4


这个修改不了吧

url中如果含有中文等信息,则浏览器会根据自己默认的编码格式自动对他们进行URLEncode
比如浏览器的编码格式是gbk,那么会把中文字符转化成一种unicode码,也就是%XXX等代码
如果是utf-8的话,又转换成了另外一种unicode码。

这样如果不知道浏览器的使用的是什么编码的话,那么它就可能会转化成我们不知道的unicode码
所以我们在传递中文的时候,通常是传递已经转换好的unicode码,无需浏览器转换。

#5


涓 枃瀛楃

#6


引用 4 楼 Landor2004 的回复:
这个修改不了吧

说错了点:不是修改不了,而是不建议修改!哈哈

#7


谢谢,解决了,结贴,不是这个需求,理解错了

#1



<s:param name="projCode" ><s:property value="projCode" /></s:param>
这样试验过吗?

#2


param有个 private static String encoding有get和set方法的.

#3


http://www.oschina.net/uploads/doc/struts-2.1.2/org/apache/struts2/components/URL.html


<s:url>标签的问题,呵呵
encode (Boolean) - url encode the generated url. Defaults to 'true'.

<s:url encode="false">就好了

#4


这个修改不了吧

url中如果含有中文等信息,则浏览器会根据自己默认的编码格式自动对他们进行URLEncode
比如浏览器的编码格式是gbk,那么会把中文字符转化成一种unicode码,也就是%XXX等代码
如果是utf-8的话,又转换成了另外一种unicode码。

这样如果不知道浏览器的使用的是什么编码的话,那么它就可能会转化成我们不知道的unicode码
所以我们在传递中文的时候,通常是传递已经转换好的unicode码,无需浏览器转换。

#5


涓 枃瀛楃

#6


引用 4 楼 Landor2004 的回复:
这个修改不了吧

说错了点:不是修改不了,而是不建议修改!哈哈

#7


谢谢,解决了,结贴,不是这个需求,理解错了