передать значение выбранного элемента в раскрывающемся списке контроллеру в весенних аннотациях гибернации mvc

Привет, в моем приложении аннотаций весеннего спящего режима я использую jsp в качестве представления. В jsp я загружаю значения в раскрывающийся список из моей базы данных mysql. Но я не могу перенести выбранные значения со страницы jsp на контроллер. У меня есть две таблицы employee и таблица team в mysql. Я хочу отобразить всех сотрудников в выбранной команде. Например, если я выбираю team1 из раскрывающегося списка, я хочу отобразить всех сотрудников в team1. Я получаю ошибку null pointerexecption при нажатии кнопки отправки.

фрагмент кода моей страницы jsp для загрузки значения базы данных mysql в раскрывающийся список

 <form:form method="POST" action="Search.html">
  <table>
    <tr>
        <td>
                        <form:label path="teams.teamId" id="teams">Team Name</form:label>
                    </td>
                    <td>
                        <form:select path="teams.teamId" cssStyle="width: 150px;">    
                            <option value="-1">Select a type</option>
                            <c:forEach items="${teamKey}" var="teams">
                            <option value="${teams.teamId}" >${teams.teamName}</option>

                            </c:forEach>

                             <tr>
                       <td colspan="2"><input type="submit"  value="submit">  </td>

</tr>

                        </form:select>
    </tr>
   </table>
</form:form>

Запрос выбора гибернации в resourcedaoimpl

 @Override
public void serchResources(int teamid) {
    // TODO Auto-generated method stub
    System.out.println("teamid is given----------  :"+teamid);
    sessionfactory.getCurrentSession().createQuery("FROM Resource WHERE teamId=" +teamid);


    System.out.println("After query  teamid is given--*************  :"+teamid);

}

класс контроллера

@RequestMapping(value="/Search",method = RequestMethod.POST)
    public ModelAndView fromSearch(@ModelAttribute("command") Resource resource,BindingResult result){
        return new ModelAndView("redirect:/searchResult.html");
    }



@RequestMapping(value="/searchResult",method = RequestMethod.GET)
public ModelAndView searchResult(@ModelAttribute("command") Resource resource,BindingResult result){
    Map<String, Object> model = new HashMap<String, Object>();
    //to  print employee table
    model.put("resourcekey",resourceServices.listResources());
    //lists teams
    model.put("teamKey", addteamServices.listTeams());

    return new  ModelAndView("Search",model);
}

Спасибо за любой совет..


person user2298758    schedule 05.08.2014    source источник


Ответы (1)


Вам нужно включить modelAttribute в тег формы,

<form:form method="POST" action="Search.html" modelAttribute="command" >

Таким образом, у вас будут значения для атрибута модели, когда вы попытаетесь получить их в контроллере.

person Santhosh    schedule 05.08.2014