limtno的gravatar头像
limtno 2014-08-06 12:30:04

Springmvc开发中java bean对象自动初始化失败求解

@RequestMapping(value = { "save"})

public String save(Role role) {}

如上这里的role在运行时一直是null不能初始化,是怎么回事,但是如果加了其中的属性如

public String save(String name,String id){}

这样其中的值name和id都是有的   就是换成对象之后  就都是null不能初始化,整个项目中这种bean都不能初始化,不知道怎么解决。

所有回答列表(2)
最代码官方的gravatar头像
最代码官方  LV168 2014年8月6日

你这个方法是controller中表单提交后保存role的实现吧?

对springmvc种form表单提交绑定java bean对象,需要注意3个地方:

1.用户填写表单页面务必要初始化该对象

RoleController.java代码片段

@RequestMapping(value = "create", method = RequestMethod.GET)
public ModelAndView create(HttpSession session, HttpServletResponse response){
	ModelAndView modelAndView = new ModelAndView("role/create");
	Role role = new Role();
	modelAndView.addObject("role", role);
	return modelAndView;
}

2.springmvc modelandview对应页面

role/create.jsp代码片段

<form method="post" action="/role/create.jsp" id="app">
</form>

3.表单提交POST请求controller方法

RoleController.java代码片段

@RequestMapping(value = "create", method = RequestMethod.POST)
public ModelAndView create(Role role){
	ModelAndView modelAndView = new ModelAndView("role/save_success");
	roleService.save(role);
	return modelAndView;
}

对比下你的代码吧,看看问题出在哪?

limtno的gravatar头像
limtno  LV23 2014年8月6日

controller方法代码

@RequestMapping(value = "form")
    public String form(Role role, Model model, HttpServletRequest request) {
        model.addAttribute("role", role);

        return "modules/sys/roleForm";

    }

@RequestMapping(value = { "save"})
    public String save(Role role) {
        System.out.println("-------------------------->"+role);
        return "redirect:/admin/sys/role";
    }

jsp页面的代码

<form:form id="inputForm" modelAttribute="role" action="${ctx}/admin/sys/role/save.htm" method="post" class="form-horizontal">

 

感觉没有什么问题,调试了半天也没发现有什么问题。。不清楚哪里不对了

 

 

 

顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友