@ModelAttribute减少约定俗成,写得更大白话一点,入门的时候容易懂。

This commit is contained in:
Calvin
2012-12-17 11:02:23 +08:00
parent 9bbe29014a
commit fa8a54bb64
8 changed files with 35 additions and 33 deletions
@@ -40,12 +40,15 @@ public class ProfileController {
return "redirect:/";
}
@ModelAttribute("preloadUser")
public User getUser(@RequestParam(value = "id", required = false) Long id) {
/**
* 所有RequestMapping方法调用前的Model准备方法, 实现Struts2 Preparable二次部分绑定的效果,先根据form的id从数据库查出User对象,再把Form提交的内容绑定到该对象上。
* 因为仅update()方法的form中有id属性,因此仅在update时实际执行.
*/
@ModelAttribute
public void getUser(@RequestParam(value = "id", required = false) Long id, Model model) {
if (id != null) {
return accountService.getUser(id);
model.addAttribute("preloadUser", accountService.getUser(id));
}
return null;
}
/**
@@ -58,14 +58,13 @@ public class UserAdminController {
}
/**
* 使用@ModelAttribute, 实现Struts2 Preparable二次部分绑定的效果,先根据form的id从数据库查出User对象,再把Form提交的内容绑定到该对象上。
* 因为仅update()方法的form中有id属性,因此本方法在该方法中执行.
* 所有RequestMapping方法调用前的Model准备方法, 实现Struts2 Preparable二次部分绑定的效果,先根据form的id从数据库查出User对象,再把Form提交的内容绑定到该对象上。
* 因为仅update()方法的form中有id属性,因此仅在update时实际执行.
*/
@ModelAttribute("preloadUser")
public User getUser(@RequestParam(value = "id", required = false) Long id) {
@ModelAttribute
public void getUser(@RequestParam(value = "id", required = false) Long id, Model model) {
if (id != null) {
return accountService.getUser(id);
model.addAttribute("preloadUser", accountService.getUser(id));
}
return null;
}
}
@@ -107,15 +107,14 @@ public class TaskController {
}
/**
* 使用@ModelAttribute, 实现Struts2 Preparable二次部分绑定的效果,先根据form的id从数据库查出Task对象,再把Form提交的内容绑定到该对象上。
* 因为仅update()方法的form中有id属性,因此本方法在该方法中执行.
* 所有RequestMapping方法调用前的Model准备方法, 实现Struts2 Preparable二次部分绑定的效果,先根据form的id从数据库查出Task对象,再把Form提交的内容绑定到该对象上。
* 因为仅update()方法的form中有id属性,因此仅在update时实际执行.
*/
@ModelAttribute("preloadTask")
public Task getTask(@RequestParam(value = "id", required = false) Long id) {
@ModelAttribute()
public void getTask(@RequestParam(value = "id", required = false) Long id, Model model) {
if (id != null) {
return taskService.getTask(id);
model.addAttribute("preloadTask", taskService.getTask(id));
}
return null;
}
/**
@@ -20,9 +20,6 @@
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
<!-- 将无法mapping到Controller的path交给default servlet handler处理 -->
<mvc:default-servlet-handler/>
<!-- 定义JSP文件的位置 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
@@ -30,6 +27,10 @@
<property name="suffix" value=".jsp"/>
</bean>
<!-- 定义无Controller的path<->view直接映射 -->
<!-- 容器默认的DefaultServletHandler处理 所有静态内容与无RequestMapping处理的URL-->
<mvc:default-servlet-handler/>
<!-- 定义无需Controller的url<->view直接映射 -->
<mvc:view-controller path="/" view-name="redirect:/task"/>
</beans>