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 に答える