如何在JSP页面上更改地址栏的中文字符?

来源:百度知道 编辑:UC知道 时间:2024/05/15 03:17:14
就像百度搜索引擎类似。

当一输入一个中文字符后,地址栏上的中文字符会变成
%B5%D8%D6%B7%C0%B8+%D6%D0%CE%C4
类似的东西。

而我用a标记更改href属性后,在地址栏上显示的中文,而不是%B5%D8%D6%B7%C0%B8+%D6%D0%CE%C4 这样类似的东西

请问如何转换这种编码格式?
请问,因为是在一个JSP页面运行之后的一个超链接的href属性中,附加了一个带有中文字符参数的地址(<a href="servlet?n=小强"></a>)。而当我点击了这个中文地址后,响应的JSP页面就会在地址栏上显示出超链接中的中文字符。

可是现在最麻烦的,之前的JSP处理页面使用的全部都是EL和JSTL标签,而且我不想使用<% %>。可又必须在这张JSP页面中处理这个超链接的属性!?

请问,能不能使用JSTL提供的一些函数或者标签来转换这样的超链接?并且能够使我的响应页面能够以正确格式(中文)来接收这组参数??

这里麻烦大家了!!能够满足所有要求的追加100分,能够满足部分的追加50分。决不食言!

这个和加密不加密没关系。
问题是,你的程序管得着别人的浏览器地址栏咋显示吗?我就做过实验,即使用“<a href="servlet?n=小强">小强</a>”,在某些浏览器的地址栏里也是显示“%B5%D8%D6%B7%C0%B8+%D6%D0%CE%C4”。

用类库带的的,有很多,像MD5也可以,建立一个加密的类

地址用加密后的,然后地址比对的时候也先加密在比对就可以了

不是什么加密.在地址栏显示的是get请求.
编码方式可以转换的.java.net.URLEncoder.encode("")
就可以把你要看的转换成所需要的那种.
或者 你想对get请求的连接进行加密.防止别人修改.

java.net.URLEncoder.encode()

java.net.URLDecode()

仔细研究一下吧..

citytalent 的想法挺好 不过有一点需要指出 就是MD5不是什么加密算法 它是摘要算法(Message digest)。

<a href=servlet?n=<%=java.net.URLEncoder.encode("小强","UTF-8")%>
格式编码
java.net.URLDecoder.encode(n,"UTF-8");
格式解码