2013-07-01 2 views
1

Когда я получаю доступ к данным простой модели, например, к имени пользователя, используя: $ {username}, все кажется прекрасным. Но когда я пытаюсь использовать $ {userdata.uname} Я получаю сообщение об ошибке, как:атрибуты модели весны MVC на странице jsp

Could not find property uname in class com.mydom.datahandling.userdata 

UserData это класс Java добавить к ModelAndView

ModelAndView mav = new ModelAndView("page37"); 
    mav.addObject("sessionID",ID); 
    mav.addObject("userdata",p37userdata); 

Что мне нужно сделать, чтобы сделать по-другому? Кажется, что это происходит, когда я пытаюсь использовать что-то другое, кроме примитивного типа или String. Мне, очевидно, нужно немного больше образования. Нужно ли сериализовать p37userdata?

UserData является

public class userdata{ 
    public String uname; 
     public String otherstuff; 
    } 
+0

Что такое p37userdata? Он содержит свойство «uname»? – digitaljoel

+0

Crud - Мне нужны геттеры для атрибутов пользовательских данных для этого? – user2411858

ответ

1

Объектами вы ссылаетесь от вашего EL в вашем JSP должны быть Java Beans (или карта). В соответствии с wikipedia (источником всей истины) боб обладает следующими свойствами:

Они сериализуемые, имеет конструктор по 0-аргументу, и позволяет получить доступ к свойствам , используя методы получения и установки.

Таким образом, вы должны, вероятно, добавить геттеры и сеттеры в свой класс userdata.