2018-05-21 18:06

看一下 DruidPlugin 中的源码即可

本质就是一个 JDBC 连接而已,网上搜索 JDBC 连接数据库,很多资源

2018-05-21 17:55

@lhhhhh @lhhhhh 就是这个原因了, 让这个 class path 中有就可以了

2018-05-21 17:38

独立使用时,需要通过下面的方法来启动:
new EhCachePlugin().start();

2018-05-21 17:37

去 class path 里头看一下现场,看 config.properties 这个文件到底存在不存在

不要看 /src/main/resources 下面,要看被编译后的那个 class path 里头,PropKit 是从 class path 去找文件

2018-05-21 11:11

如果你用的是 jfinal 的 sql 管理功能,那么就极其容易:
#define where(map)
where
#for ( x : map)
#(for.first ? "", "and") #(x.key) #(x.value)
#end
#end

使用的时候调用一下 where 函数即可:
#@where(condMap)

详细文档在此:
http://www.jfinal.com/doc/5-13

2018-05-21 10:49

http://www.jfinal.com/doc/9-1

2018-05-21 09:45

还想到一个办法,大致如下:
1:创建 public class MyRequest extends HttpServletRequest

2:MyRequest 通过构造方法,将原 request 传入
public MyRequest(HttpServletRequest request) {
this.request = request;
}

3:在 MyRequest 中覆盖掉父类的 getWriter()、getOutputStream(),将这两个方法的返回值替换成自己希望输出的目的地,例如:
public Writer getWriter() {
// 这个 MyWriter 是你定制的写入到的一个目的地,用于接收生成的结果
new MyWriter(super.getWriter());
}

4:除了 getWriter()、getOutputStream() 以外,其它方法者转调 request 对象中的方法,例如:
public String getParameter(String name) {
return this.request.getParameter(name);
}

通过上面的方式,相当于通过包装 HttpServletRequest request 的方式,将输出目的地重定向到了你自己想要的地方

2018-05-21 09:36

@timzh 其它模板引擎都好处理,只需要将输出改变一下即可,唯独 jsp 不好处理,因为 jsp 的使用是下面这样的:
request.getRequestDispatcher(view).forward(request, response);

解决这个需求,需要替换引擎的输出,例如 OuputStream Writer,而 jsp 的这两个东东恰好在 jsp 被编译成的 class 文件中

这个 class 文件是被 jsp 被编译而成,没有 java 源代码,所以只能去修改 jsp 编译器的代码

2018-05-21 09:19

Jsp 文件 render 后的内容不太好获取,建议使用 renderToString(...) 这个方法,可以直接获取到内容:
String result = renderToString(...);

只不过这个方法使用的是 jfinal 的 enjoy 引擎,建议试用一下这个方法,enjoy 文档第一部分告知了一种 3 秒钟内掌握 90% 用法的方法:
http://www.jfinal.com/doc/6-1

注意看下文档中红色字体的说明

2018-05-21 09:06

@李若谷 不仅功能强大,学习成本极低,而且性能极高,这里有性能测试:
https://www.oschina.net/news/90815/jfinal-3-3

这里有专用于 enjoy 性能测试的项目,自己可以在本地与 Thymeleaf 再测试一下:
https://gitee.com/jfinal/enjoy-performance

2018-05-21 09:04

@mangguo1 想要牛逼的 jq 提示,可以使用 IDEA

2018-05-21 09:02

jfinal 在 Controller 中对 session、cookie 的访问进行了便利性的封装,可以参考 Controller 中的 session、cookie 操作 API,拿来即用

2018-05-21 09:02

在 hander 中可以通过 request 参数访问 session、cookie,如:
request.getSession()
request.getCookies()

2018-05-20 17:16

@mangguo1 如果 userInfo.html 没经手 enjoy ,那肯定是没法使用 #(ctx)

在浏览器里面直接通过 URL 请求 html 页面,没走 enjoy 进行过处理,肯定当成纯文本原样显示出来

2018-05-20 16:51

@mangguo1 贴点详细代码, 当前信息量不足以知道你的应用场景