在提交表单时在控制器中获取空值

时间:2015-10-01 02:23:00

标签: spring-mvc

我在这里使用提交动作提交表单。在Controller中,模型对象显示空值。假设我正在使用request.getParameter(" mcodeName") - 那么我正在获得价值。当我使用getMcode()方法时,乳清值为null。请帮我解决这个问题。

@RequestMapping(value="/masterCode.do", method=RequestMethod.POST)
    public ModelAndView addMasterCode(HttpServletRequest req, 
            HttpServletResponse res, @ModelAttribute("masterCodeBean") MasterCodeBean mCodeBeanObj) { 
        log.info("");
        String mCodeName    = mCodeBeanObj.getMaster_code_name(); //getting null
        String mCodeStatus  = mCodeBeanObj.isActive(); //getting null
        System.out.println("Req code des " + req.getParameter("mCodeName"));
        System.out.println("Req active : " + req.getParameter("active"));
        ModelAndView model = null;
        try {
            model = new ModelAndView("masterCode");
            codeDelegate.addMasterCodeDetails(mCodeBeanObj);
            model.addObject("masterCodeBean", mCodeBeanObj);
        }catch(Exception e) {
            System.out.println(EXCEP_ERR);
        }
        return model;
    }

我的表单绑定模型属性就像

1 个答案:

答案 0 :(得分:1)

抱歉,我没有足够的声誉来评论。所以我在这里写答案。

<form:form id="mCodeForm" method="post" action="masterCode.do" modelAttribute="masterCodeBean"> 
Enter Product Name : <form:input id="mCodeName" path="mCodeName" /> <br>
Select Status : <form:select id="active" path="isActive"> 
<form:option value="0" label="Active" /> 
<form:option value="1" label="De-Active" /> 
</form:select> 
<span> <input type="submit" value="Save" id="save_mstCdeMgr"/> </span> </form:form>
  1. setter和getter应遵循一些代码约定。 假设您有mCodeName作为类变量,那么getMCodeName()setMCodeName(String mCodeName)

  2. 使用表单标记时,路径只是modelAttribute字段名称。不需要编写id和name属性,因为它在运行时生成它们。某些客户端验证或与javascript相关的目的需要id。

    <form:input id="mCodeName" path="mCodeName" />在运行时转换为html代码<input type="text" id="mCodeName" name="mCodeName" />

  3. 试试这个并告诉我。