liferay我遇到的问题就是jsp页面出现中文乱码
想了一下,试试加入页面的编码格式,果然可以
1、JSP页面, 可以设置jsp页面的编码格式
<%@ page contentType="text/html; charset=UTF-8"%>
2、参数中文乱码 ( 注意:Tomcat的输出台,输出中文是乱码;要插入到数据库里面去看是否还是乱码!)
使用过滤器的方式来解决:
首先,在ext-impl/src 建立com.ext.portlet.filter包,EncodingFilter类
package com.ext.portlet.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import org.apache.log4j.Logger;
public class EncodingFilter implements Filter{
private static Logger log = Logger.getLogger(EncodingFilter.class);
private String encode;
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
if(null != encode){
request.setCharacterEncoding(encode);
response.setContentType("text/html;charset=" + encode);
response.setCharacterEncoding(encode);
log.info("fiter data success...");
}
else{
log.error("read web.xml init data failed....");
}
chain.doFilter(request, response);
}
public void init(FilterConfig conf) throws ServletException {
// TODO Auto-generated method stub
encode = conf.getInitParameter("encode");
}
}
然后,添加部分xml代码,在ext-web -> WEB-INF 下的web.xml文件
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>com.ext.portlet.filter.EncodingFilter</filter-class>
<init-param>
<param-name>encode</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
最后,ant部署,启动tomcat!!
想了一下,试试加入页面的编码格式,果然可以
1、JSP页面, 可以设置jsp页面的编码格式
<%@ page contentType="text/html; charset=UTF-8"%>
2、参数中文乱码 ( 注意:Tomcat的输出台,输出中文是乱码;要插入到数据库里面去看是否还是乱码!)
使用过滤器的方式来解决:
首先,在ext-impl/src 建立com.ext.portlet.filter包,EncodingFilter类
package com.ext.portlet.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import org.apache.log4j.Logger;
public class EncodingFilter implements Filter{
private static Logger log = Logger.getLogger(EncodingFilter.class);
private String encode;
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
if(null != encode){
request.setCharacterEncoding(encode);
response.setContentType("text/html;charset=" + encode);
response.setCharacterEncoding(encode);
log.info("fiter data success...");
}
else{
log.error("read web.xml init data failed....");
}
chain.doFilter(request, response);
}
public void init(FilterConfig conf) throws ServletException {
// TODO Auto-generated method stub
encode = conf.getInitParameter("encode");
}
}
然后,添加部分xml代码,在ext-web -> WEB-INF 下的web.xml文件
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>com.ext.portlet.filter.EncodingFilter</filter-class>
<init-param>
<param-name>encode</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
最后,ant部署,启动tomcat!!