jmesa查询条件中文的编码转换问题

阅读更多
环境说明:
1.页面编码配置:
<%@ page language="java" contentType="text/html;charset=GBK"  pageEncoding="GBK"%>

2.tomcat 的conf/server.xml中加了
 
 
3.工程添加了Filter ,doFilter 其中encoding=“GBK”
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
        throws IOException, ServletException
    {
        if(ignore || request.getCharacterEncoding() == null)
        {
            String encoding = selectEncoding(request);
            if(encoding != null)
                request.setCharacterEncoding(encoding);
        }
        chain.doFilter(request, response);
    }

用jmesa的查询方法并不支持中文查询,发现limit.getFilterSet()中value是乱码,修改提交方式(post/get)没有效果,以下是解决方法,修改后工程其他部分功能暂没有发现受到影响:

1.jmesa.js文件的160行修改为    
  url += '&' + limit.id + '_f_' + filter.property + '=' + encodeURIComponent(encodeURIComponent(filter.value));


2.添加 
Limit limit = tableFacade.getLimit();  
		List li=new ArrayList(limit.getFilterSet().getFilters());
		limit.getFilterSet().getFilters().clear();
		for(int k=0;k 

你可能感兴趣的:(Tomcat,JSP,XML,F#,HTML)