2013-06-21 2 views
-1

Я новичок в Spring MVC. Я хочу привязать модельный компонент к форме, которая связывает значения и передает их контроллеру. поэтому я сделал следующим образомКак подключить значения формы в jsp к контроллеру весной MVC

в JSP

<form:form modelattribute="model"> 
<form:input path="var1"/> 
</form:form> 

контроллер

pulic void method(@modelattribute("model")Bean bean) 
{ 

//my code 
} 

но когда я получить доступ к форме он бросает ошибку как исключение при визуализации JSP, нет такого объекта не существует с именем модели

как это решить? help me

+0

Вам нужно объяснить это лучше. –

+0

@VaibhavRaj У меня есть форма, в которой пользователь вводит значения. значения должны быть отправлены контроллеру из формы. поэтому я следил за описанным выше процессом и получаю ошибку, говоря, что такой bean-компонент не существует с именем «model». здесь Bean - это класс, который содержит переменные, соответствующие полям на странице jsp. – user2390827

ответ

1

Предположим, что ваш класс модели выглядит следующим образом:

public class MyModel{ 
    private String propOne; 
    private String porpTwo; 

    /*Skipping getters and setters*/ 
} 

Использование @ModelAttribute, чтобы отобразить пользовательские входы в вашу форму:

@RequestParam("/myPage") 
public String myController(@ModelAttribute MyModel myModel){ 
    /*Do your processing here*/ 
} 

На страницы JSP, просто дайте свои поля ввода же имя (атрибут HTML: имя) как свойства внутри боба, чтобы картировать:

<form:input name="propOne" class="xyz" /> 
<form:input name="propTwo" class="xyz" /> 

Делать это значительно дополняет ваше отображение компонента.

0

Вам необходимо сохранить модель перед рендерингом страницы.

uiModel.addAttribute("model", new Bean()); 
+0

, пожалуйста, продумайте это немного. – user2390827

0

В Spring MVC, вы будете лучше использовать аннотацию @ModelAttribute на метод в контроллере, который поставляет свою модель. Это будет вызываться и автоматически добавляться в модель до отображения JSP.

Что-то вроде этого

@ModelAttribute 
public Model model(){ 
    return new Model(); 
} 

Я предлагаю вам иметь хорошее чтение в Spring MVC documentation

+0

не могу сделать это без написания вышеприведенного фрагмента. Я имею в виду через xml-файлы. – user2390827

+0

Теперь он работает, добавив выше. – user2390827

0

вы должны добавить экземпляр формы вашей модели во время запроса GET

@RequestMapping(value = "/foo", method = RequestMethod.GET) 
public String handler(final Model uiModel) 
     uiModel.addAttribute("model", new Bean()); 

// сделайте что-нибудь и верните путь просмотра, возможно }

и в методе обработчика для обработки запроса POST

Документация доступна здесь: http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/mvc.html

-1

Пожалуйста, взгляните на метод Vaibhav, я отредактировал его и теперь его рабочий тон

+0

Пожалуйста, попробуйте прочитать это http://stackoverflow.com/about, чтобы узнать больше о вопросах/ответах здесь, на SO. Ваш вклад не отвечает на этот вопрос. Это больше комментарий, который вы можете добавить, как только вы увеличите свою репутацию: http://stackoverflow.com/faq#reputation –

+0

@ RadimKöhler: Я новый пользователь, поэтому мне требуется 50 репутации, чтобы добавить комментарий к ответу Вайбхава, и я отредактировали этот пост, но он требует экспертной оценки, тогда он будет доступен для общественности. Вот что я сделал, я изменил тег jsp Pulkit