文档介绍:2014年12月9日星期二(jfinal)
今天是第一天入职,学****jfinal
从表中可以看出, JFinal访问一个确切的Action()需要使用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日星期三
注意打字质量,几次打错字而出错!
理清逻辑思路,
对陌生的质疑使我畏葸不前,要自信!
,页面是添加
<form action="/student/save" method="post">
姓名:<input type="text" name=""/>${studentnameMsg!}${studentnameLMsg!}
</form>
<filter>
<filter-name>jfinal</filter-name>
<filter-.</filter-class>
<init-param>
<param-name>configClass</param-name>
<param-.</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>jfinal</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
/**
* 配置路由
*/
public void configRoute(Routes me) {
("/", );
("/student", );
//("/classes", );
}
***@Before()
public void save() {
Student student = getModel();
();
forwardAction("/student");
}
protected void validate(Controller c) {
// 验证表单域name,返回信息key,返回信息value
validateRequiredString("", "studentnameMsg", "请输入学生名册");
这里也可以用正则验证!validateRegex(field, regExpression, errorKey, errorMessage)
}
,无参调用index()方法
***@Before()
public void index() {
List<Student> list = ("select * from student");
(list);
setAttr("studentList", list);
render("/index