JFinal的配置非常简单,就只要在web.xml中将JFinal集成进去就行了,初始化配置
<filter>
<filter-name>jfinal</filter-name>
<filter-class>com.jfinal.core.JFinalFilter</filter-class>
<init-param>
<param-name>configClass</param-name>
<param-value>demo.DemoConfig</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>jfinal</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping
所有的映射信息配置信息都在JFinalConfig的子类 DemoConfig配置, JFinal默认的视图模板是freeMarker,如果没有特定指定其它视图(在configconst中指定视图
类型 ,或者渲染的时候 renderJSP 或者renderVelocity)并且没有导入freemarker jar包是会报错的,Jfinal支持JSP,freemarker,velocity三种视图模板,
在configRoute中配置请求映射信息 me.add("/hello","HelloController.Class"," 指定响应的视图路径,若该参数没有填写则默认使用/hello作为视图路
径"), 注意"/xx",以斜杠开头的代表绝对路径,没有斜杠代表相对路径,比如www.test.com/a,访问/hello,则是访问www.test.com/hello目录下的文件,假如不加斜杠就hello
则是访问当前路径a/hello中的文件。 JFinal是restful的风格,访问/hello,默认访问hello下面的index方法,如果有指定/hello/add则访问hello控制器下的add方法,url参数以-
进行分割,例:/hello/add/1-2-3,1-2-3就是参数, 获取参数的方法有 getPara(),由request.getParameter()封装的,getPara()表示获取所有的参数,getPara(0)表示获取第一个参数也就是1,getParaToInt(0)表示将参数1转化为整形的1,getPara(0,10)表示如果第一个参数为空则默认赋值为10,getPara("test") 表示获取表单中名为test的参数
setAttr(key,value)由request.setAttr(key,value)封装的,getReuqest()表示获取HttpRequest实例,getSession()表示获取HttpSession
getPara(),getPara(int x) 等等都是获取URL参数, 而 getPara(String x)都是获取表单的参数或者url以 xx?a=xx这种形式的参数
具体的方法可以查看Controller的API 方法
JFinal读取配置文件的properties的方式有两种: 一种是 在configConst方法中使用 PropKit.use(“文件路径,默认在class路径下”),然后在需要使用的地方 直接取值就可以了,也就是PropKit.get("key"); 当然如果需要加载多个属性文件,在configConst 中只有 第一个 PropKit.user(''文件名") 下面可以直接使用 PropKit.get获取属性,其它的文件属性要获取属性,必须得使用 PropKit.user("wenjian").get(key) 取值, 或者是 Prop p = PropKit.user('xx"),然后通过 p.get(key)。
第二种是 在需要使用的地方 直接 loadPropFile("xxx),直接getProperty(key)取值
JFinal中一个Controler 是 action的集合, Controller中的方法就是各个action, Controller中的action是 public 且没有参数的方法,例如public void add(){}.
JFinal中的Model 无任何属性,一个类继承Model之后可以使用JFinal中封装好的数据库方法进行操作,该类无任何属性,也无setter getter等等,