2009-07-26 2 views
0

В настоящее время я пытаюсь вернуть модель из onSubmit() в моем контроллере. Затем я пытаюсь получить это в моем jsp.Извлечение модели из ModelAndView в jsp

, например

Map model = new HashMap(); 
model.put("errors", "example error"); 
return new ModelAndView(new RedirectView("login.htm"), "model", model); 

, а затем извлечения его с

<c:out value="${model.errors}"/> 

Однако это ничего не отображается. он переходит в правильное переадресацию и не вызывает никаких ошибок, но текст не отображается.

Любая помощь будет очень признательна.

благодаря

ответ

2

Что RedirectView делает посылает заголовок перенаправления в браузер, браузер делает полную перезагрузку страницы, так как модель результата не увлекайтесь там (как он обрабатывается в настоящее время контроллера входа в системе с его собственная модель).

Что вы можете сделать, это ошибки проходят через запрос атрибутов:

В ваших views.properties:

loginController.(class)=org.springframework.web.servlet.view.InternalResourceView 
loginController.url=/login.htm 

Тогда вместо RedirectView возврата:

request.setAttribute("errors", "example errors"); 
return new ModelAndView("loginController"); 

И в контроллере авторизации проверьте этот атрибут и добавьте его в модель.

Update: без использования views.properties:

request.setAttribute("errors", "example errors"); 
return new ModelAndView(new InternalResourceView("/login.htm")); 

ИЛИ вы можете добавить (другой) внутренний вид распознаватель к вашему App-servlet.xml (Примечание от API: При объединении ViewResolvers, InternalResourceViewResolver всегда должен быть последним, так как он не будет пытаться разрешить любое имя вида, независимо от того, действительно ли существует основной ресурс):.

<bean id="viewResolver2" 
    class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
</bean> 

, а затем просто использовать:

request.setAttribute("errors", "example errors"); 
return new ModelAndView("/login.htm"); 
+0

извинения, я очень новичок в весеннем mvc и действительно в webapps в целом. Я добавил вышеприведенные предложения, но получаю следующую ошибку. Запрошенный ресурс (/example/WEB-INF/jsp/loginController.jsp) недоступен. Это происходит от создателя, который я настроил. – smauel

+0

Я обновил ответ простым решением (сначала предполагалось, что вы используете функции veiws.properties для разрешения просмотров) – serg

 Смежные вопросы

  • Нет связанных вопросов^_^