1
我目前使用Spring Security来管理我的Struts2应用程序的登录和会话。 在JSP页面中检索记录的用户我通过将以下内容导入到我的jsp中来使用sec标签库。结合Spring Security标签和Struts2标签
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>
所以打印我登录的用户,我使用<sec:authentication property="principal.username" />
。
我通过java.util.List
遍历,所谓的动作获得,所以迭代它经过是这样的:
<s:iterator value="#request.myList" var="userEmail">
My value: <s:property value="#userEmail"/>
</s:iterator>
我正在寻找一种方法来测试列表项检查是与记录的用户相同,但我无法设法在<s:if>
标签内检索sec
。
有谁知道如何将两者结合?而这样做
<s:if test="%{<sec:authentication property="principal.username" /> == #userEmail}">
你可以使用像'
<秒:认证... >'并在测试中使用'#foo'?我不是100%相信这个逻辑应该在视图层,但这是一个单独的问题。 – 2013-05-08 17:02:06我同意在视图层上保留这种测试的想法看起来很奇怪,但它与决定显示某些样式和div有关。 – 2013-05-08 20:35:13
我的意思是访问主体用户名。至少我会把它包装在一个自定义标签中。虽然我猜想如果只是在遍历这样的列表时使用它,它可能不值得。 – 2013-05-08 20:57:20