当前位置: 代码迷 >> Java Web开发 >> freeMark表达式的解析器解决思路
  详细解决方案

freeMark表达式的解析器解决思路

热度:233   发布时间:2016-04-16 21:50:10.0
freeMark表达式的解析器
本帖最后由 TMZ794600991 于 2014-09-30 10:26:23 编辑
  String sql = "SELECT * FROM employee where 1=1 <#if age ?exists>and age = :age</#if><#if name ?exists>and name = name</#if><#if empno ?exists>and empno = :empno</#if>";
        Map<String, Object> paramMap = new HashMap<String, Object>();
        paramMap.put("day", 18);  
        paramMap.put("name", "tangkun");
        paramMap.put("empno", "jishu");

        
        /**由上面的sql能输出为下面的sql
         * freeMark 需要ftl模本,除了模本还能用其他的方法实现,我只需要获取的是字符串而不需要jsp视图之类的
         * spring 解析Expression 好像只能解析含有表达时的
                我希望能传入一个含表达的字符串,通过解析返回解析之后的字符串做为sql语句
         * */
        sql = "SELECT * FROM employee where 1=1 and age = :age and name = name  and empno = :empno";
------解决思路----------------------
从来没这么做过 你是啥需求 这样做太怪了吧? 用页面的表达式来实现后台的字符处理?