今天小弟尝试搭建struts2环境,但是碰见了悲催的不算是乱码的乱码问题。
我只引入了struts2的相关包,struts2的配置文件struts.xml也设置了统一编码方式:
<constant name="struts.i18n.encoding" value="GBK" />
页面编码方式是GBK,java,jsp文件属性都是GBK。启动tomcat没报错,访问的时候页面也能显示中文,悲催的事情发生了,右键查看源文件出现这样的字符“中文”,ognl加上escape="false"属性后页面源文件显示正常,求高手解答这是为什么啊????难道是jar版本的问题?以前木有遇到过~~~
代码:
import com.opensymphony.xwork2.ActionSupport;
public class test extends ActionSupport {
private String fffd;
public String test(){
fffd = "中文";
return "success";
}
public String getFffd() {
return fffd;
}
public void setFffd(String fffd) {
this.fffd = fffd;
}
}页面如下jsp:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<s:property value="fffd"/>
</body>
</html>struts配置文件如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.i18n.encoding" value="GBK" />
<package name="protal" namespace="" extends="struts-default">
<action name="test" class="test">
<result name="success">/index.jsp</result>
</action>
</package>
</struts>
我只引入了struts2的相关包,struts2的配置文件struts.xml也设置了统一编码方式:
<constant name="struts.i18n.encoding" value="GBK" />
页面编码方式是GBK,java,jsp文件属性都是GBK。启动tomcat没报错,访问的时候页面也能显示中文,悲催的事情发生了,右键查看源文件出现这样的字符“中文”,ognl加上escape="false"属性后页面源文件显示正常,求高手解答这是为什么啊????难道是jar版本的问题?以前木有遇到过~~~
代码:
import com.opensymphony.xwork2.ActionSupport;
public class test extends ActionSupport {
private String fffd;
public String test(){
fffd = "中文";
return "success";
}
public String getFffd() {
return fffd;
}
public void setFffd(String fffd) {
this.fffd = fffd;
}
}页面如下jsp:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<s:property value="fffd"/>
</body>
</html>struts配置文件如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.i18n.encoding" value="GBK" />
<package name="protal" namespace="" extends="struts-default">
<action name="test" class="test">
<result name="success">/index.jsp</result>
</action>
</package>
</struts>
解决方案 »
- 我的myEclipse不能启动了
- hql语句
- 问下做网站的几个具体步骤?
- dom4j解析XML
- 怎么时候<meta http-equiv="Content-Type" content="text/html; charset=gb2312">将不起作用?
- 关于js的一个小问题,高手帮个忙~~
- 请问,在jsp程序里,能调用javascript吗?如何调用,请给一个example,谢谢
- !!!jsp在输出时怎样屏蔽html代码(这个多分一点)
- 请问:我安装jbuilder5以后是不是就不用安装其他的jsp服务器软件就可以运行jsp?如果可以,请问怎么配置?谢谢
- 如何将JSP的out对象传递给JSP引用的bean?
- 把jsp里的javascript放到js里,也引用了,可就是不执行这个js?
- 有个很初级的问题!
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"/> --有就改成UTF-8 没有的话就加一个!
还是不行的话就写一个过滤器! 一切OK!
加了这个属性URIEncoding="UTF-8",但还是不行。其实浏览器里页面显示是正常的中文,但是右键,查看源文件,中文的地方就是“中文”乱码~~~
嗯。。谢谢~我刚才试了一下 全部编码方式都更改成UTF-8,结果也还是一样的~~
这个会不会和jar有关呢,以前用struts2的时候没发现过这样的问题。
General/Content Types
点开右边有个Text进行配置
首先把CSS,DTD,Html,Java Source File,JavaScript Source File都设为UTF-8
然后点开JSP
把JSP,CSS JSP,JSP Fragment,Jsp Tag Definitoion设为UTF-8
在然后把Runtime log file设为GBK
能解决你很多乱码问题。
试试吧