Как получить доступ к объекту через метод `get()` в jsp?

У меня есть контейнерный объект, который содержит Google/Guava Optional и я хочу получить доступ к содержанию этого Optinal в JSP.

import com.google.common.base.Optional;
public class Container {       
   private Optional<User> user;
   public Optional<User> getUser(){return this.user;}
}

public class User{
   private String name;
   public String getName() {return this.name;}
}

Optional есть метод get() получить внутренний объект. http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/base/Optional.html

Я уже пробовала (${container} в случае Container):

<c:out value="${container.user.name}" />
<c:out value="${container.user.get.name}" />
<c:out value="${container.user..name}" />

ни один из них не работает (Tomcat 7.42). Кто-нибудь есть идеи, как решить эту проблему, не добавляя новое свойство в контейнер (getUser2(){return this.user.get();})?

1 ответ

Решение

Благодаря Сотириосу Делиманолису

начиная с Servlet 3.0 / JSP 2.2 можно использовать

 <c:out value="${container.user.get().name}" />
Другие вопросы по тегам