0

我不知道我的权限检查是否正确,但我正在这样做。

public class User {
   public boolean hasPermission (String permission){
       // codes here to check from Roles.permissions if permission parameter exists
       // return true if exists, otherwise return false
   }
}

在我的 JSP 中,如果在会话中保存为“currentUser”的用户没有“save.settings”权限,我想隐藏一个按钮。

为了组织我的代码,我声明了一个接口:

public interface Permission {
    public static final String SAVE_SETTINGS = "save.settings";
}

这样我就可以在检查权限时访问我的 JSP 中的静态变量。

现在我如何在我的 JSP 中做到这一点?我试过了...

<s:if test="{#session.currentUser.hasPermission(@my.pkg.Permission@SAVE_SETTINGS)}">
     <div>
        <input id="iSave" type="button" value="Save" /> 
    </div>
</s:if>

但它不起作用。

<constant name="struts.ognl.allowStaticMethodAccess" value="true"/> 

也在我的 struts.xml 中设置

有什么想法吗?

4

1 回答 1

1

利用

<s:if test="#session['currentUser'].hasPermission(@my.pkg.Permission@SAVE_SETTINGS)">

或者

<s:if test="#session.currentUser.hasPermission(@my.pkg.Permission@SAVE_SETTINGS)">
于 2012-10-17T14:43:23.160 回答