codecamp

3.4 getModel 与 getBean 系列方法

   getModel 用来接收页面表单域传递过来的 model 对象,表单域名称以”modelName.attrName” 方式命名。除了 getModel 以外,还提供了一个 getBean 方法用于支持传统的 Java Bean。以下 是一个简单的示例:

// 定义Model,在此为Blog
public class Blog extends Model<Blog> {
	public static final Blog me = new Blog();
}
 
// 在页面表单中采用modelName.attrName形式为作为表单域的name
<form action="/blog/save" method="post">
	<input name="blog.title" type="text">
	<input name="blog.content" type="text">
	<input value="提交" type="submit">
</form>
 
public class BlogController extends Controller {
	public void save() {
	// 页面的modelName正好是Blog类名的首字母小写
	Blog blog = getModel(Blog.class);
 
	// 如果表单域的名称为 "otherName.title"可加上一个参数来获取 blog = getModel(Blog.class, "otherName");
	}
}

上面代码中,表单域采用了”blog.title”、”blog.content”作为表单域的 name 属性,”blog”是类 文件名称”Blog”的首字母变小写,”title”是 blog 数据库表的 title 字段,如果希望表单域使用任 意的 modelName , 只 需 要 在 getModel 时 多 添 加 一 个 参 数 来 指 定 , 例 如 : getModel(Blog.class, ”otherName”)。


如果希望传参时避免使用 modelName  前缀,可以使用空串作为 modelName  来实现:

getModel(Blog.class, “”); 这对开发纯 API 项目非常有用。

3.3 getPara 系列方法
3.5 setAttr 方法
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

第十一章 JFinal 架构及扩展

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }