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 專案非常有用。