请问在Struts2中,jsp跳转到action中的问号传值出现乱码怎么解决?
3个回答
展开全部
问号采用的是GET方式传值
在javascript中使用
<script>
function test(){
var afterencode = encodeURI(encodeURI("${pageContext.request.contextPath}/XXXServlet?userName=name"));
location = afterencode;
<script>
}
在java中String result = java.net.URLDecoder.decode(userName,"UTF-8");
通过以上两步可以解决乱码问题
jsp页面的encodeURI是将中文字符转换为16进制,在java中的URLDecoder是将16进制转换为中文
在javascript中使用
<script>
function test(){
var afterencode = encodeURI(encodeURI("${pageContext.request.contextPath}/XXXServlet?userName=name"));
location = afterencode;
<script>
}
在java中String result = java.net.URLDecoder.decode(userName,"UTF-8");
通过以上两步可以解决乱码问题
jsp页面的encodeURI是将中文字符转换为16进制,在java中的URLDecoder是将16进制转换为中文
展开全部
1.前提你两个JSP页面的编码方式都是UTF-8而且表单的提交方式又是POST的话,直接可以正常接受不会出现乱码。
2.不过出现乱码的因素非常多有时候编码方式是正常的也会出现乱码,原则上是如果你A.jsp中设置了request.setCharacterEncoding("utf-8"),那么你B.jsp中就可以不用设置了,如果你B.jsp中设置了request.setCharacterEncoding("utf-8"),那么你A.jsp中就可以不用设置了,A B两个页面随便在一个里面设置都行,都有用。
3.还有页面当中字符的编码是以<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>这个为基准的,不是你说的表单的编码方式就是iso-8859-1.
2.不过出现乱码的因素非常多有时候编码方式是正常的也会出现乱码,原则上是如果你A.jsp中设置了request.setCharacterEncoding("utf-8"),那么你B.jsp中就可以不用设置了,如果你B.jsp中设置了request.setCharacterEncoding("utf-8"),那么你A.jsp中就可以不用设置了,A B两个页面随便在一个里面设置都行,都有用。
3.还有页面当中字符的编码是以<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>这个为基准的,不是你说的表单的编码方式就是iso-8859-1.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问好传值肯定是get方式 你可以再action中转码 String a = new String("乱码内容".getbytes("iso-8859-1"),"utf-8"); 后边的utf-8是你系统所用到的编码方式 。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询