3.4 getModel 與 getBean 系列方法

2022-07-11 10:12 更新

   getModel 用來(lái)接收頁(yè)面表單域傳遞過(guò)來(lái)的 model 對(duì)象,表單域名稱以”modelName.attrName” 方式命名。除了 getModel 以外,還提供了一個(gè) getBean 方法用于支持傳統(tǒng)的 Java Bean。以下 是一個(gè)簡(jiǎn)單的示例:

// 定義Model,在此為Blog
public class Blog extends Model<Blog> {
	public static final Blog me = new Blog();
}
 
// 在頁(yè)面表單中采用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() {
	// 頁(yè)面的modelName正好是Blog類名的首字母小寫
	Blog blog = getModel(Blog.class);
 
	// 如果表單域的名稱為 "otherName.title"可加上一個(gè)參數(shù)來(lái)獲取 blog = getModel(Blog.class, "otherName");
	}
}

上面代碼中,表單域采用了”blog.title”、”blog.content”作為表單域的 name 屬性,”blog”是類 文件名稱”Blog”的首字母變小寫,”title”是 blog 數(shù)據(jù)庫(kù)表的 title 字段,如果希望表單域使用任 意的 modelName , 只 需 要 在 getModel 時(shí) 多 添 加 一 個(gè) 參 數(shù) 來(lái) 指 定 , 例 如 : getModel(Blog.class, ”otherName”)。


如果希望傳參時(shí)避免使用 modelName  前綴,可以使用空串作為 modelName  來(lái)實(shí)現(xiàn):

getModel(Blog.class, “”); 這對(duì)開(kāi)發(fā)純 API 項(xiàng)目非常有用。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)