Как получить доступ к объекту через метод `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}" />