동일한 문자열에 대한 JSTL if 태그
내 JSP 페이지의 개체에서 변수가 있습니다.
<%= ansokanInfo.getPSystem() %>
변수의 값은 올바른 NAT이며이 값에 특정 페이지 요소를 적용하고 싶습니다. 사례를 알기 위해 태그를 어떻게 사용합니까? 나는 같은 것을 시도했다
<c:if test = "${ansokanInfo.getPSystem() == 'NAT'}">
process
</c:if>
그러나 위는 아무것도 표시하지 않습니다. 어떻게해야합니까? 또는 스크립틀릿을 사용할 수 있습니까?
<% if (ansokanInfo.getPSystem().equals("NAT"){ %>
process
<% } %>
답변이나 의견을 보내 주셔서 감사합니다.
시험:
<c:if test = "${ansokanInfo.PSystem == 'NAT'}">
JSP / Servlet 2.4 (버전 번호라고 생각합니다)는 EL에서 메서드 호출을 지원하지 않고 속성 만 지원합니다. 최신 서블릿 컨테이너는 메서드 호출을 지원합니다 (예 : Tomcat 7).
<c:if test="${ansokanInfo.pSystem eq 'NAT'}">
다른 답변은 EL 표현식에서 사용할 속성 이름에 대한 중요한 세부 정보가 누락되었다고 생각합니다. 메소드 이름에서 속성 이름으로 변환하는 규칙 은 Java Bean 표준의 일부인 'Introspector.decpitalize'에 지정되어 있습니다.
이것은 일반적으로 첫 번째 문자를 대문자에서 소문자로 변환하는 것을 의미하지만, 두 개 이상의 문자가 있고 첫 번째와 두 번째 문자가 모두 대문자 인 (비정상적인) 특수한 경우에는 그대로 둡니다.
따라서 "FooBah"는 "fooBah"가되고 "X"는 "x"가되지만 "URL"은 "URL"로 유지됩니다.
따라서 귀하의 경우 JSTL 코드는 다음과 같아야하며 대문자 'P'에 유의하십시오.
<c:if test = "${ansokanInfo.PSystem == 'NAT'}">
스크립틀릿을 사용할 수 있지만이 방법은 아닙니다. 요즘에는 JSP 파일의 인라인 스크립트 또는 JAVA 코드가 나쁜 습관으로 간주됩니다.
JSTL에 대해 좀 더 읽어야합니다. ansokanInfo 개체가 요청 또는 세션 범위에있는 경우 개체 (toString () 메서드)를 다음과 같이 인쇄하면 $ {ansokanInfo}가 몇 가지 기본 정보를 제공 할 수 있습니다. $ {ansokanInfo.pSystem}은 개체 getter 메서드를 호출해야합니다. 이 모든 것이 작동하면 다음을 사용할 수 있습니다.
<c:if test="${ ansokanInfo.pSystem == 'NAT'}"> tataa </c:if>
참고 URL : https://stackoverflow.com/questions/10189963/jstl-if-tag-for-equal-strings
'programing' 카테고리의 다른 글
Rails를 사용하여 정수형 열이 아닌 기본 키를 어떻게 설정할 수 있습니까? (0) | 2020.09.18 |
---|---|
.NET에서 "클램프"기능은 어디에서 찾을 수 있습니까? (0) | 2020.09.18 |
더 높은 종류의 유형은 언제 유용합니까? (0) | 2020.09.18 |
EJS 템플릿 (JMVC)에서 조건문을 사용할 수 있습니까? (0) | 2020.09.17 |
iPhone : 내비게이션 바 제목 설정 (0) | 2020.09.17 |