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(Blog.class, 」otherName」)。


如果希望傳參時避免使用modelName  前綴,可以使用空白字串 作為modelName  來實作:

getModel(Blog.class, “”); 這對開發純API 專案非常有用。