jfinal学习笔记

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

项目:ht为了防止tp:/和谐/yun.baidu.co请去掉m/share/汉字link?shareid=446316952&uk=672642110

2014年12月9日星期二(jfinal)

今天是第一天入职,学习jfinal

从表中可以看出,JFinal访问一个确切的Action(Action定义见 3.2节)需要使用controllerKey与method 来精确定位,当method 省略时默认值为index。urlPara 是为了能在url 中携带参数值,urlPara 可以在一次请求中同时携带多个值,JFinal 默认使用减号“-”来分隔多个值(可通过constants. setUrlParaSeparator(String)设置分隔符),在Controller 中可以通过getPara(int index)分别取出这些值。controllerKey、method、urlPara这三部分必须使用正斜杠“/”分隔。

注意,controllerKey 自身也可以包含正斜杠“/”,如“/admin/article”,这样实质上实现了struts2的namespace功能。

记忆技巧:第一个参数为String 类型的将获取表单或url 中问号挂参的域值。第一个参数为int 或无参数的将获取urlPara 中的参数值。

2014年12月10日星期三

1.注意打字质量,几次打错字而出错!

2.理清逻辑思路,居然出现没有配置web.xml

3.对陌生的质疑使我畏葸不前,要自信!

1.关于add

1.首先,页面是添加

姓名:

name="student.studentname"/>${studentnameMsg!}${studentnameLMsg!}

2.到web.xml

jfinal

com.jfinal.core.JFinalFilter

configClass

com.demo.config.DemonConfig

jfinal

/*

3.到demonconfig

/**

* 配置路由

*/

public void configRoute(Routes me) {

me.add("/", StudentController.class);

me.add("/student", StudentController.class);

//me.add("/classes", StudentController.class);

}

4.到StudentController的save方法

@Before(StudentValidator.class)

public void save() {

Student student = getModel(Student.class);

student.save();

forwardAction("/student");

}

5.被StudentValidator拦截

protected void validate(Controller c) {

// 验证表单域name,返回信息key,返回信息value

validateRequiredString("student.studentname", "studentnameMsg", "请输入学生名册");

这里也可以用正则验证!validateRegex(field, regExpression, errorKey, errorMessage)

}

6.反馈

7.转回/student,无参调用index()方法

@Before(StudentInterceptor.class)

public void index() {

List list = Student.dao.find("select * from student");

System.out.println(list);

setAttr("studentList", list);

render("/index.html");

}

8.被StudentInterceptor拦截

public class StudentInterceptor implements Interceptor {

public void intercept(ActionInvocation ai) {

System.out.println("Before action invoking");

ai.invoke();

System.out.println("After action invoking");

}

}

9.执行后

render("/index.html");

10.到index页面

<#list studentList as student>

${student.studentname}

${student.studentage}

${student.studentsex}

${student.getClasses().classesname}

删除 修改

相关文档
最新文档