Spring MVC Request Param - PullRequest
       3

Spring MVC Request Param

1 голос
/ 26 июля 2011

У меня есть страница входа с действием формы j_security_check .На данный момент эта форма имеет только два поля, а именно имя пользователя и пароль.Я хочу добавить новый выпадающий список в эту форму и собрать выбранное значение в контроллере, используя @RequestParam.По какой-то причине я не могу передать это раскрывающееся значение из JSP в мой контроллер, поскольку оно выдает exception: MissingServletRequestParameterException (что происходит всякий раз, когда отсутствует параметр запроса).В приведенном ниже коде я добавил выпадающий список Visuals.Нужно ли здесь использовать тег Spring:Bind?Также при успешном входе в систему управление направляется контроллеру с отображением запроса / controller1.html , и именно здесь я пытаюсь собрать раскрывающееся значение.

<form name="appLogin" action="j_security_check" method="POST">

<table width="100%">
    <tr>
        <td align="center">

        <table>
            <tr>
                <td>Username: </td>
                <td><input id="userName" name="j_username" value=""/></td>
            </tr>
            <tr>
                <td>Password: </td>
                <td><input name="j_password" type="password" value="" /></td>
            </tr>

                <tr>
                <td>Visual: </td>
                <td><Select name="visuals" id="visuals"/>
                      <option value="S1">S1</option>
                      <option value="S2">S2</option>
                      <option value="S3">S3</option>
                      <option value="S4">S4</option>
                    </Select>
                </td>
            </tr>

        </table>

        <table>
            <tr>
                <td>
                <button type="submit" name="submit" value="Sign In">Sign In</button>
                <input type="submit"/>
                </td>
            </tr>
        </table>
        </div>
        </div>
        </td>
    </tr>
</table>
</form>

Код контроллера:

 @RequestMapping( value = " /controller1.html", method = RequestMethod.GET )
    public String setupForm( @RequestParam(value = "visuals", required=false) String visuals,
            ModelMap model )
    {
        List<String> studentNames = new ArrayList<String>();
        List<String> teacherNames = new ArrayList<String>();


         model.addAttribute("someData", teacherNames);
         model.addAttribute("anotherData", studentNames);

        model.addAttribute("visuals", visuals);

        log.info("Role from Dropdown:  " + visuals);

        return "school/classTen";
    }

1 Ответ

1 голос
/ 26 июля 2011

Вам нужно создать свой собственный фильтр, расширив AbstractAuthenticationProcessingFilter

У меня нет всего кода перед глазами, но следующая статья может вам помочь:

http://mark.koli.ch/2010/07/spring-3-and-spring-security-setting-your-own-custom-j-spring-security-check-filter-processes-url.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...