Форум программистов, компьютерный форум, киберфорум
Java: Spring, Spring Boot
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
 Аватар для insabearnia
0 / 0 / 1
Регистрация: 30.12.2016
Сообщений: 15

SpringMVC передача параметров формы

08.05.2017, 18:07. Показов 2680. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Выдаёт ошибку в следующем коде:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<html>
  <head>
    <title>TaskTracker.com</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <form:form method="POST" commandName="model" action="check-user">
        <form:input path="name" />
        <form:input path="password" />
        <input type="submit" value="Go"/>
    </form:form>
  </body>
</html>
Контроллер
Java
1
2
3
4
5
6
7
8
9
10
11
12
@Controller
public class TrackerController {
    @RequestMapping(value = "/", method = RequestMethod.GET)
    public ModelAndView main() {
        return new ModelAndView("index", "user", new User());
    }
 
    @RequestMapping(value = "/check-user", method = RequestMethod.POST)
    public ModelAndView checkUser(@ModelAttribute User user) {
        return new ModelAndView("main", "user", user);
    }
}
класс User с 2-мя полями, пароль и имя. Страница main всего лишь выводит имя и пароль юзера.
Вот ошибка, когда запускаю сервер через Tomcat:



Message: An exception occurred processing JSP page /WEB-INF/view/index.jsp at line 12

Description: The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception:

org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/view/index.jsp at line 12

9: </head>
10: <body>
11: <form:form method="POST" commandName="model" action="check-user">
12: <form:input path="name" />
13: <form:input path="password" />
14: <input type="submit" value="Go"/>
15: </form:form>


Stacktrace:
org.apache.jasper.servlet.JspServletWrap per.handleJspException(JspServletWrapper .java:588)
org.apache.jasper.servlet.JspServletWrap per.service(JspServletWrapper.java:476)
org.apache.jasper.servlet.JspServlet.ser viceJspFile(JspServlet.java:385)
org.apache.jasper.servlet.JspServlet.ser vice(JspServlet.java:329)
javax.servlet.http.HttpServlet.service(H ttpServlet.java:742)
org.apache.tomcat.websocket.server.WsFil ter.doFilter(WsFilter.java:53)
org.springframework.web.filter.Character EncodingFilter.doFilterInternal(Characte rEncodingFilter.java:121)
org.springframework.web.filter.OncePerRe questFilter.doFilter(OncePerRequestFilte r.java:107)
Root Cause

java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'model' available as request attribute
org.springframework.web.servlet.support. BindStatus.<init>(BindStatus.java:144)
org.springframework.web.servlet.tags.for m.AbstractDataBoundFormElementTag.getBin dStatus(AbstractDataBoundFormElementTag. java:168)
org.springframework.web.servlet.tags.for m.AbstractDataBoundFormElementTag.getPro pertyPath(AbstractDataBoundFormElementTa g.java:188)
org.springframework.web.servlet.tags.for m.AbstractDataBoundFormElementTag.getNam e(AbstractDataBoundFormElementTag.java:1 54)
org.springframework.web.servlet.tags.for m.AbstractDataBoundFormElementTag.autoge nerateId(AbstractDataBoundFormElementTag .java:141)
org.springframework.web.servlet.tags.for m.AbstractDataBoundFormElementTag.resolv eId(AbstractDataBoundFormElementTag.java :132)
org.springframework.web.servlet.tags.for m.AbstractDataBoundFormElementTag.writeD efaultAttributes(AbstractDataBoundFormEl ementTag.java:116)
org.springframework.web.servlet.tags.for m.AbstractHtmlElementTag.writeDefaultAtt ributes(AbstractHtmlElementTag.java:422)
org.springframework.web.servlet.tags.for m.InputTag.writeTagContent(InputTag.java :142)
org.springframework.web.servlet.tags.for m.AbstractFormTag.doStartTagInternal(Abs tractFormTag.java:84)
org.springframework.web.servlet.tags.Req uestContextAwareTag.doStartTag(RequestCo ntextAwareTag.java:80)
org.apache.jsp.WEB_002dINF.view.index_js p._jspx_meth_form_005finput_005f0(index_ jsp.java:228)
org.apache.jsp.WEB_002dINF.view.index_js p._jspx_meth_form_005fform_005f0(index_j sp.java:182)
org.apache.jsp.WEB_002dINF.view.index_js p._jspService(index_jsp.java:135)
org.apache.jasper.runtime.HttpJspBase.se rvice(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(H ttpServlet.java:742)
org.apache.jasper.servlet.JspServletWrap per.service(JspServletWrapper.java:443)
org.apache.jasper.servlet.JspServlet.ser viceJspFile(JspServlet.java:385)
org.apache.jasper.servlet.JspServlet.ser vice(JspServlet.java:329)
javax.servlet.http.HttpServlet.service(H ttpServlet.java:742)
org.apache.tomcat.websocket.server.WsFil ter.doFilter(WsFilter.java:53)
org.springframework.web.filter.Character EncodingFilter.doFilterInternal(Characte rEncodingFilter.java:121)
org.springframework.web.filter.OncePerRe questFilter.doFilter(OncePerRequestFilte r.java:107)

Помогите, уже 3 часа парюсь.

Добавлено через 2 минуты
Контроллер неверно написал, там должно быть:
Java
1
2
3
4
5
6
7
8
9
10
11
12
@Controller
public class TrackerController {
    @RequestMapping(value = "/", method = RequestMethod.GET)
    public ModelAndView main() {
        return new ModelAndView("index", "model", new User());
    }
 
    @RequestMapping(value = "/check-user", method = RequestMethod.POST)
    public ModelAndView checkUser(@ModelAttribute User user) {
        return new ModelAndView("main", "model", user);
    }
}
Ошибка та же самая
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.05.2017, 18:07
Ответы с готовыми решениями:

Java servlet передача параметров с формы
Есть текстовый файл, в котором есть текст и слова напротив которых необходимо вставить введенные пользователем параметры с формы....

Передача параметров через список параметров формы
Hi all! У кого есть опыт передачи параметров через заголовочный список параметров формы? Желетельно пример записи. Заранее...

Передача параметров из дочерней формы в класс, унасле́дованный от главной формы
Добрый день, форумчане. Сильно не пинайте. Ситуация такая: из главной формы вызываю дочернюю на дочерней форме есть куча ComboBox...

7
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
08.05.2017, 19:10
insabearnia,

А если так поменять?
Java
1
public ModelAndView checkUser(@ModelAttribute ("model")User user){
0
 Аватар для insabearnia
0 / 0 / 1
Регистрация: 30.12.2016
Сообщений: 15
08.05.2017, 19:48  [ТС]
reisal78, Не помогает. Причём я этот пример взял из видео и уже его от корки до корки изучил. Все зависимости у меня прописаны, саму формулировку ошибки я не могу понять: типо, 'mode' не может получить объект, который ему передаёт контроллер(т.е. new User()) ?

Добавлено через 9 минут
reisal78,
Главные ошибки тут, как я понимаю:
org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/view/index.jsp at line 12

9: </head>
10: <body>
11: <form:form method="POST" commandName="model" action="check-user">
12: <form:input path="name" />
13: <form:input path="password" />
14: <input type="submit" value="Go"/>
15: </form:form>

И эта:
java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'model' available as request attribute

Как их исправить понятия не имею, уже многое перепробовал. И ModelAndView просто на Model менял, то же самое. Может зависимость надо какую-то отдельно прописывать?

Добавлено через 23 минуты
Думаю, что проблема в Tomcate, несколько проектов было открыто сразу.
0
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
08.05.2017, 19:54
insabearnia, выложите код на github или bitbucket
0
 Аватар для insabearnia
0 / 0 / 1
Регистрация: 30.12.2016
Сообщений: 15
09.05.2017, 06:35  [ТС]
reisal78, Видимо, я с Томкатом просто напутал. Постараюсь сам разобраться. Спасибо за помощь.

Добавлено через 1 минуту
reisal78, Если всё таки не получиться, то выложу и вам напишу

Добавлено через 10 часов 38 минут
reisal78, Слушай, ничего не помогает. Не знаю уже, как сделать.
Посмотри, пожалуйста: https://github.com/insabearnia/TaskTracker
0
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
09.05.2017, 12:53
Лучший ответ Сообщение было отмечено insabearnia как решение

Решение

insabearnia,

в файле web.xml убейте следующие строки:
(Это главный косяк)
XML
1
2
3
    <!--<welcome-file-list>-->
        <!--<welcome-file>/WEB-INF/view/index.jsp</welcome-file>-->
    <!--</welcome-file-list>-->
в файле mvc-config.xml убить
(это видимо от использования другого фреймворка осталось)
XML
1
2
    <!--<mvc:view-controller path="/index.html" view-name="/index"/>-->
    <!--<mvc:view-controller path="/result.html" view-name="/result"/>-->
в файле index.jsp исправить на
HTML5
1
 <form:form method="post" commandName="user" action="/result">
у вас сейчас
HTML5
1
action="#"
тоесть пост запрос уходит в никуда.
1
 Аватар для insabearnia
0 / 0 / 1
Регистрация: 30.12.2016
Сообщений: 15
09.05.2017, 12:56  [ТС]
Спасибо огромное!
0
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
09.05.2017, 13:02
Т.е у вас из-за
XML
1
<welcome-file-list>
метод контроллера тупо не вызывался, а следовательно никаких атрибутов "user" не создавалось.

Приложение при запуске лезло в web.xml находило велком файл, тут же отображало его, и заканчивало действие
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.05.2017, 13:02
Помогаю со студенческими работами здесь

Передача параметров формы!
У меня стоит 3-й денвер. Не передаются параметры из страницы с формами в сценарий!!! ошибки не выдаёт! а данные не передаются! кто знает?...

Передача параметров из дочерней формы
Доброго времени суток. Почитал уже много тем по сабжу, в том числе и на этом форуме, но до конца разобраться не могу. Пишу в Visual...

Передача параметров в action формы
Добрый день, дамы и господа, таки решил я в форму в атрибут action передать всякие переменные, чтобы потом после отправки через GET на...

Передача параметров из формы в форму (+++)
Есть такая форма frmCalculator. Т.е. она типа калькулятор. Там есть поле Result. Я хочу, чтобы эту форму можно было вызывать из любой...

Две формы. передача параметров
У меня есть 2 формы. Как сделать так, чтобы переменная из первой формы действовала во второй?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru