jfinal学习笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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.首先,页面是添加
2.到web.xml
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
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>
#list>