Как отобразить объект на странице JSP? - PullRequest
0 голосов
/ 25 сентября 2010

Я новичок в Spring MVC, я пытаюсь настроить страницу для отображения информации о пользователях

У меня проблемы с контроллером и видом.

Controler (getDetail возвращает объект User, у него есть поле электронной почты):

 @RequestMapping("/{code}")
 public String get(@PathVariable long code,ModelMap model) throws Exception {
  model.addAttribute("user",simpleUserManager.getDetail(code));
  return "userdetail";
 }

в userdetail.jsp:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>

<html>
  <head><title><fmt:message key="title"/></title></head>
  <body>
User Detail :
${user.email}
  </body>
</html>

Но я получаю эту ошибку, когда захожу на страницу:

Request processing failed; nested exception is java.lang.IllegalArgumentException: Attribute value must not be null

Я использую Spring 3 на Tomcat6

Так что я надеюсь, что вы скажете мне, что я делаю неправильно ...

Спасибо

1 Ответ

5 голосов
/ 25 сентября 2010

ModelMap.addAttribute() не допускает, чтобы значение атрибута было null, и выдает IllegalArgumentException, если оно есть.

Ваш контроллер должен проверить, возвращает ли результат simpleUserManager.getDetail(code) null, и только попытайтесь отобразить результат, если это не так.Если равно null, вам нужно сделать что-то соответствующее этой ситуации.

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