【发布时间】:2014-02-11 18:41:49
【问题描述】:
我有一个对象列表,我从 servlet 传递到 jsp,如下所示:
List<LifeEvent> lifeEvents = null;
if (initialDate.equals(finalDate))
lifeEvents = ontAccess.getPhotosOfTheDay(initialDate,null);
else
lifeEvents = ontAccess.getPhotosOfTheDay(initialDate,finalDate);
request.setAttribute("lifeEvents", lifeEvents);
LifeEvent 类具有以下全局变量:
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private long id;
@OneToOne(optional = true, cascade = {CascadeType.ALL})
@JoinColumn
private IDContainer idContainer;
@ManyToOne(optional = true, cascade = {CascadeType.PERSIST, CascadeType.REFRESH, CascadeType.MERGE})
private Place place;
@OneToMany(cascade = {CascadeType.PERSIST, CascadeType.REFRESH, CascadeType.MERGE}, fetch = FetchType.EAGER)
@Fetch(value = FetchMode.SUBSELECT)
private List<Comment> comments;
@ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.REFRESH, CascadeType.MERGE}, fetch = FetchType.EAGER)
@Fetch(value = FetchMode.SUBSELECT)
@JoinTable(name = "lifeevent_withFriends")
private List<Friend> withFriends;
@ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.REFRESH, CascadeType.MERGE}, fetch = FetchType.EAGER)
@Fetch(value = FetchMode.SUBSELECT)
@JoinTable(name = "lifeevent_likedBy")
private List<Friend> likedBy;
private String text;
private boolean highlyRelevant = false;
@ManyToOne(optional=true, cascade = {CascadeType.PERSIST, CascadeType.REFRESH, CascadeType.MERGE})
@JoinColumn
private MediaObject mediaObject;
private boolean archived=false;
例如 Place 对象有以下全局变量:
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private long id;
@OneToOne(optional = true, cascade = {CascadeType.ALL})
@JoinColumn
protected IDContainer idContainer;
private boolean isPublic;
private String placeName;
@ManyToOne
private MediaObject media;
@ManyToOne(optional = true, cascade = {CascadeType.PERSIST, CascadeType.REFRESH, CascadeType.MERGE})
private Location location;
private boolean archived=false;
在 .jsp 页面中,我想显示有关 LifeEvent 的信息,例如,我希望访问 LifeEvent 类中 Place 内的地名。我怎样才能访问它?
只是 ${lifeEvent.place.placeName} 吗?
【问题讨论】: