`
xly1981
  • 浏览: 146531 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

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

2.tomcat 的conf/server.xml中加了
 <Connector port="8080" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" useBodyEncodingForURI="true"  />
 
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<Filter> li=new ArrayList(limit.getFilterSet().getFilters());
		limit.getFilterSet().getFilters().clear();
		for(int k=0;k<li.size();k++){
			limit.getFilterSet().addFilter(li.get(k).getProperty(), URLDecoder.decode(li.get(k).getValue(),"utf-8"));
		}
分享到:
评论
2 楼 indiajohns 2011-08-13  
非常感谢,很快解决了我的问题
1 楼 yujiaao 2011-04-20  
太好了,感谢啊!
这行在我这好象不行:
URLDecoder.decode(li.get(k).getValue(),"utf-8")); 
改为
new String(li.get(k).getValue().getBytes("ISO8859_1"), "UTF-8")

相关推荐

    jmesa使用说明文档

    2. **org.jmesa.limit**:提供过滤功能,通过 `Limit` 接口控制数据流,可以保存用户查询时的参数,如过滤条件、排序条件和分页信息。 3. **org.jmesa.view**:定义了数据的展示方式,包括 CSV 和 HTML 两种实现。...

    jmesa核心讲解

    4. **数据转换**:JMESA提供了丰富的数据转换工具,可以对查询结果进行清洗、转换,以便更好地适应应用程序的需求。 5. **扩展性**:JMESA的设计允许开发者通过编写插件来扩展其功能,满足特定的业务需求。 6. **...

    jmesa 入门

    通过解析器将JMESa表达式转换为抽象语法树(AST),再由编译器将AST转化为SQL,最后执行器执行SQL并返回结果。 ### 6. 与其他工具对比 相比直接编写SQL,JMESa提供了更安全的方式,因为它是类型安全的,可以避免...

    jmesa.jar jmesa.jar

    jmesa.jar jmesa.jar

    jmesa-tag

    **标题:“Jmesa-Tags”** 在Java Web开发领域,`Jmesa`是一个针对`ExtremeTable`的下一代项目,旨在提供一个更为强大的表格展示API。与传统的TagLib(标签库)相比,Jmesa的目标是为开发者创造更加高效且功能丰富...

    Jmesa快速指南

    《Jmesa在Struts2环境中的...虽然在集成过程中可能遇到文档不足的问题,但通过实践和探索,我们能够有效地利用Jmesa增强Web应用的数据管理能力。希望这些经验能对你在使用Jmesa时有所帮助,使你在开发过程中少走弯路。

    jmesa的一个例子

    在学习Jmesa时,可以参考这个博客,同时CSDN是一个中国开发者聚集的平台,可以在这里找到更多关于Jmesa的讨论和问题解答。此外,官方文档和GitHub仓库也是获取Jmesa信息的重要来源,它们通常提供了完整的API参考和...

    jmesa2.3.4

    《深入解析jmesa2.3.4:一个不可或缺的API工具》 jmesa2.3.4,作为一款备受推崇的API,其在IT领域中的应用广泛且深受好评。这款工具以其卓越的性能和易用性,为开发者提供了一种高效的数据处理和分析解决方案。本文...

    jmesa-ajax

    这里,JMESA可以用来处理和转换数据,将数据转换成适合前端显示的格式。例如,我们可以使用JMESA读取数据库中的数据,然后将其转化为JSON对象,以便于前端解析。 前端接收到服务器响应的JSON数据后,利用JavaScript...

    JMESA SERVLET

    JMESA的核心功能在于其强大的数据转换能力,能够将Java集合、数据库结果集等数据源转化为多种格式的文件。它支持的格式包括: - **TXT**:纯文本格式,适合简单的数据记录。 - **PDF**:便携式文档格式,用于高质量...

    jmesa所需完整jar包

    9. 开源社区:作为开源项目,JMESA拥有活跃的开发者社区,用户可以在其中寻求帮助、报告问题或贡献代码,共同推动项目的进步。 10. 兼容性:由于是基于Java开发,JMESA能够在不同的操作系统上运行,包括Windows、...

    jmesa-3.0.jar

    jmesa表格标签 依赖包 jmesa-3.0.jar

    jmesa-2.4.4.jar

    jmesa-2.4.4.jar 有源码

    jmesa war source

    【标题】"jmesa war source" 指的是一个与JMESa相关的WAR源码包,这个包包含了JMESa的2.3版本示例应用的源代码。 【描述】"jmesa-2.3_examples.war-source.zip" 重复三次,暗示这个压缩文件是关于JMESa 2.3版本的...

    JMesa源代码解读(中文版pdf格式)

    其中包含了一个重要的接口`State`,用于存储用户的查询选项或参数状态,比如过滤条件、排序条件以及分页信息等。 ##### 3. org.jmesa.view — 视图包 负责展示数据的部分。该包定义了展示表格的接口,并提供了两种...

    jmesa-snapshot.jar

    jmesa-snapshot.jar jmesa用到的jar

    Jmesa示例[分页,排序,导出CSV,EXCEL,PDF]

    3. **导出CSV, EXCEL, PDF**:这涉及到数据导出能力,Jmesa支持将数据显示的表格转换为常见的文件格式,如CSV(逗号分隔值)用于通用的数据交换,Excel用于进一步的数据分析,以及PDF用于打印或共享报告。...

    jmesa-3.0.4.jar

    jmesa-3.0.4 最新版 供大家学习下载

    jmesa 排序 过滤 例子

    官方提供的另外一种方法的实现。 有排序和过滤。 而且能支持大数据量的查询。

    jmesa add page number

    标题“jmesa add page number”涉及到的是一个与IT技术相关的话题,主要集中在如何在使用JMESa(Java Markdown Editor and Static Site Generator)时添加页码功能。JMESa是一款开源的Markdown编辑器和静态站点生成...

Global site tag (gtag.js) - Google Analytics