我正在使用Struts2构建Web应用程序,并且在BaseAction类中有一个后端方法,该类每个其他Action类都对其进行扩展,如下所示:
public boolean isUserFullyLogged() {
final Boolean isLogado = (Boolean) this.retrieveSessionAttribute(Constantes.LOGADO);
return (isLogado != null) && isLogado.booleanValue();
}
我希望在我的一个JSP中使用它来显示或不显示某些内容,我尝试了以下三种不同的方式:
>< s:if test =“#userFullyLogged”> Content< / s:if>
>< s:if test =“%{#userFullyLogged}”>内容< / s:if>
>< s:if test =“ userFullyLogged”> Content< / s:if>
但是以上方法均无效,因此根本不会调用该方法.有人可以告诉我正确的语法吗?
解决方法:
无需更改方法名称:
<s:if test="isUserFullyLogged()">Content</s:if>
请注意,如果您需要阻止整个页面而不是单个功能,则应在Interceptor中进行这种检查,方法是将包含自定义LoginInterceptor的Interceptor堆栈应用于仅需要经过身份验证的所有操作才能打开用户.