3.4 getModel 與 getBean 系列方法

2022-07-11 10:12 更新

   getModel 用來接收頁面表單域傳遞過來的 model 對象,表單域名稱以”modelName.attrName” 方式命名。除了 getModel 以外,還提供了一個 getBean 方法用于支持傳統(tǒng)的 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, “”); 這對開發(fā)純 API 項目非常有用。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號