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"); } }
如果希望传参时避免使用 modelName 前缀,可以使用空串作为 modelName 来实现:
getModel(Blog.class, “”); 这对开发纯 API 项目非常有用。