Search code examples
javaspringillegalstateexception

Neither BindingResult nor plain target object for bean name when running application


index.jsp

<f:form action="emp_change.htm" method="POST" commandName="index">
                <div id="login_box">



                    <div id="form_val">
                        <div class="label">Username:</div>
                        <div class="control"><f:input path="emailId"  /></div>
                        <div style="clear:both;height:0px;"></div>
                        <div class="label">Password:</div>
                        <div class="control"><f:input path="password" type="password" /></div>
                        <div style="clear:both;height:0px;"></div>
                        <div id="msgbox"></div>
                        <div id="login_foot">
                            <input type="submit" name="action" id="login" value="Login" class="send_button" />
                        </div>                    
                    </div>
                </div>
            </f:form>

AdminInfoControl.java

@Controller
public class AdminInfoControl {

        private AdminInfoService service;

    @RequestMapping(value = "/emp_change", method = RequestMethod.POST)
    public String doActions(@ModelAttribute JtAdminInfo emp, BindingResult result, @RequestParam String action, Map<String, Object> map) {
        service = new AdminInfoService();
        JtAdminInfo empResult = new JtAdminInfo();
        switch (action.toLowerCase()) {

            case "login":
                JtAdminInfo search = service.getFindAdmin(emp.getEmailId());

                empResult = search != null ? search : new JtAdminInfo();
                break;
        }
        map.put("index", empResult);
        map.put("empList", service.getAll());
        return "index";
    }
}

I'm getting following error :

Neither BindingResult nor plain target object for bean name 'emp_change' available as request attribute

Anyone please help me to correct this. Please let me know, if information is not sufficient.


Solution

  • I have added following method in my controller and works fine.

        @RequestMapping("/index")
        public String setupForm(Map<String, Object> map) {
            map.put("index", new JtAdminInfo());
            return "index";
        }