2009-07-07 2 views
0

jsp 페이지 (Struts가 지원됨)에 다음 코드가 있습니다.JSTL 1.0에서 bean 속성의 부분 문자열을 비교하는 방법?

그러나 내가하고 싶은 것은 someproperty의 하위 문자열 만 비교하는 것입니다. 접미사가 "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> 

물론 USERINFO는 자바에 접근 할 수 없다.

어떤 아이디어?

답변

2

하거나 문자열 태그 라이브러리를 사용 : 당신은 스크립틀릿을 피해야한다 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> 
+0

. String Taglib은 갈 길입니다. +1 –

+0

문자열 taglib가 작동했지만, 서 픽스 만 원했기 때문에 부분 문자열 대신 str : right 태그를 사용했습니다. 감사합니다. :) – AsGoodAsItGets

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>