Отображение значения в JSP с использованием Spring TagLibs - PullRequest
0 голосов
/ 24 января 2012

Есть ли способ показать значения, уже заполненные в bean-компоненте, с помощью Spring Tag Libraries? Я знаю, что мы можем использовать нотацию ${}, чтобы увидеть значения. Я пытаюсь сделать что-то вроде следующего:

<form:form commandName="studentBean" method="POST">
<form:input path="fName"></form:label>
</form:form>

Это нормально, если я хочу обновить значения, но он не будет отображать значения, уже присутствующие в commandBean. Кто-нибудь может опубликовать решение для этого?

1 Ответ

1 голос
/ 24 января 2012

Так должно работать. Поле ввода (form (xmlns: form = "http://www.springframework.org/tags/form"))) должно быть предварительно заполнено значениями, введенными в объект команды в контроллере, в результате чего отображается страница jsp.

Возможно, вы пропустили заполнение модели.

@RequestMapping(value = "/xxx", params = "form", method = RequestMethod.GET)
public ModelAndView updateForm() {
    ...
    StudentBean studentBean = new StudentBean();
    studentBean.setFName("Ralph");
    return new ModelAndView("updateForm", "studentBean", studendBean);
}

@RequestMapping(value = "/xxx", method = RequestMethod.POST)
public ModelAndView update(@Valid StudentBean studentBean,
                           final BindingResult bindingResult) {
    if (bindingResult.hasErrors()) {
        return new ModelAndView("updateForm", "studentBean", studendBean);
    } else {
        ...
        return new ModelAndView(new RedirectView("/finished", true));
    }
}

Итак, в конце вам понадобятся два метода: один для заполнения формы / команды / инициала bean-компонента и второй для обработки ввода пользователя.

Кстати: термин «Bean» очень необычен для объектов такого типа, используемых для заполнения формы и содержащих запрос. (В JSF это называется (управляемым) компонентом, но вы используете JSP (это командная база, не сопоставимая с компонентом на основе JSF). Это также не Spring-Bean, потому что это не управляемый объект Spring. - Лично я использую термин «команда» для этого типа объекта (в соответствии со ссылкой на пружину: 15.3.2.3 Поддерживаемые аргументы метода-обработчика и возвращаемые типы «Объекты команды или формы для привязки параметров к: ...» )

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