关于struts2获取action中提示消息在jsp页面乱码的问题
2014-03-04 11:22
591 查看
问题描述:
最近在使用SSI写练习代码时,遇到了使用struts2的<s:actionmessage/>获取properties配置文件里的提示消息时,出现了乱码问题。查找了好久,才发现是配置文件编码格式的问题。properties默认的编码格式是ISO-8859-1,而我的Myeclipse里的properties文件由于公司项目的原因,把默认的的编码格式修改成了utf-8,导致乱码问题。
解决办法:
1、不要修改properties配置文件的默认的编码格式ISO-8859-1,在页面即可接到不乱码的中文提示。
获取消息,并弹出提示
<s:if test="hasActionErrors()">
<s:iterator value="actionErrors" var="msg" begin="0" end="0">
<script>
alert("<s:property value='#msg'/>");
</script>
</s:iterator>
</s:if>
<s:if test="hasActionMessages()">
<s:iterator value="actionMessages" var="msg" begin="0" end="0">
<script>
alert("<s:property value='#msg'/>");
</script>
</s:iterator>
</s:if>
<s:if test="hasFieldErrors()">
<s:iterator value="fieldErrors" var="msg" begin="0" end="0">
<script>
alert("<s:property value='#msg'/>");
</script>
</s:iterator>
</s:if>
2、properties配置文件的编码格式是utf-8,在页面接受消息时,进行转码操作。
Collection actionMessages = (Collection) request.getAttribute("actionMessages");
if (actionMessages != null) {
Iterator iter2 = actionMessages.iterator();
if (iter2.hasNext()) {
String mess = (String) iter2.next();
mess = new String(mess.getBytes("iso-8859-1"), "utf-8");
out.write("alert('" + mess + "');");
}
}
最近在使用SSI写练习代码时,遇到了使用struts2的<s:actionmessage/>获取properties配置文件里的提示消息时,出现了乱码问题。查找了好久,才发现是配置文件编码格式的问题。properties默认的编码格式是ISO-8859-1,而我的Myeclipse里的properties文件由于公司项目的原因,把默认的的编码格式修改成了utf-8,导致乱码问题。
解决办法:
1、不要修改properties配置文件的默认的编码格式ISO-8859-1,在页面即可接到不乱码的中文提示。
获取消息,并弹出提示
<s:if test="hasActionErrors()">
<s:iterator value="actionErrors" var="msg" begin="0" end="0">
<script>
alert("<s:property value='#msg'/>");
</script>
</s:iterator>
</s:if>
<s:if test="hasActionMessages()">
<s:iterator value="actionMessages" var="msg" begin="0" end="0">
<script>
alert("<s:property value='#msg'/>");
</script>
</s:iterator>
</s:if>
<s:if test="hasFieldErrors()">
<s:iterator value="fieldErrors" var="msg" begin="0" end="0">
<script>
alert("<s:property value='#msg'/>");
</script>
</s:iterator>
</s:if>
2、properties配置文件的编码格式是utf-8,在页面接受消息时,进行转码操作。
Collection actionMessages = (Collection) request.getAttribute("actionMessages");
if (actionMessages != null) {
Iterator iter2 = actionMessages.iterator();
if (iter2.hasNext()) {
String mess = (String) iter2.next();
mess = new String(mess.getBytes("iso-8859-1"), "utf-8");
out.write("alert('" + mess + "');");
}
}
相关文章推荐
- 关于struts2 从jsp页面获取数据乱码问题。
- struts2中关于jsp页面向action传值出现乱码问题
- Struts2 访问Action和Jsp页面出现的路径问题解决方案之 ---- 为jsp、图片、js、css等获取Web工程的绝对路径的方法
- 关于struts2如何获取jsp页面信息问题
- struts2中jsp页面表单提交到action中文乱码问题
- struts2中jsp页面表单提交到action中文乱码问题
- 在jsp中,获取页面中中文输入的值乱码问题解决。修改tomcat的编码问题
- struts2中action如何获取Session,jsp页面参数等等信息的值
- struts2 action中获取不到从jsp页面提交过来的bean
- struts2 jsp向action传值时乱码问题
- jsp页面通过 request对象直接获取 struts2 Action的变量的值。
- 关于JSP页面乱码的问题
- 使用struts2提交jsp页面表单时参数中汉字乱码的问题
- jsp页面传中文到action中乱码问题
- 关于jsp页面中中文乱码问题的解决方法
- struts2中action如何获取jsp页面参数
- struts2中action如何获取Session,request,jsp页面参数等等信息的值
- jsp页面传到action乱码问题
- struts2中action如何获取Session,jsp页面参数等等信息的值
- 关于EAS BOS 双击消息中心弹出对话框提示 获取的单据编辑界面不正确,请检查元数据等,造成打不开流程审批界面问题