我有一个@Secured({"ROLE_ADMIN"})
用于保护执行方法的 struts2 操作。在执行方法中,我将消息分配给操作的成员变量,然后返回 SUCCESS 并最终出现在 jsp 页面上。在页面上,我使用 检索操作成员变量<sproperty>
。
private String greeting;
public String execute() throws Exception {
this.greeting="Hello";
return SUCCESS;
}
// getters and setters for greeting
...
<s:property value="greeting" />
问题是,当存在安全注释时,jsp 不会为成员变量显示任何内容,但是当@Secured
被删除时,整个事情会正常运行并显示设置到成员变量中的消息。
看起来实际的安全性工作正常,但是当通过注释启用时,成员变量(或者可能是操作的实例)并没有进入值堆栈。
我看不到任何错误消息。