我在jsp页面中有以下代码(支持Struts):
<c:if test="${USERINFO.someproperty == 'test'}">
...
</c:if>
但我想做的是只比较一些属性的子串,例如如果后缀以“st”结尾。 我正在使用JSTL 1.0,因此JSTL 1.1中的endsWith()函数不可用(据我所知)而且,我更喜欢一种不涉及为此编写自定义Java类的解决方案。
我正在思考这些问题:
<c:set var="someproperty"><%= USERINFO.someproperty.substring(USERINFO.someproperty.length()-2, 2) %></c:set>
<c:if test="${someproperty == 'st'}">
...
</c:if>
但当然,像这样的Java无法访问USERINFO。
有什么想法吗?
答案 0 :(得分:2)
如果要避免使用scriptlet,只需使用String Taglib: http://jakarta.apache.org/taglibs/doc/string-doc/intro.html
<c:set var="someproperty">
<str:substring start="${USERINFO.someproperty.length-2}" end="2">The tree is green.</str:substring>
</c:set>
<c:if test="${someproperty == 'st'}">
...
</c:if>
答案 1 :(得分:0)
尝试以下方法:
<c:set var="someproperty"><%= ((UserInfo)pageContext.getAttribute("USERINFO")).someproperty.substring(USERINFO.someproperty.length()-2, 2) %></c:set>
<c:if test="${someproperty == 'st'}">
...
</c:if>