2011-02-25 3 views
0

JSF 1.1 및 Tomahawk 및 Tomcat 6.0을 사용하고 있습니다.JSTL <c:if> 태그가 JSF 1.1에서 작동하지 않음

<c:if test="${vo.type=1}"> 
    <t:commandLink action="#{Manager.openPatient}"> 
     <c:out value="${vo.patientId}"></c:out> 
     <t:outputText value="#{vo.patientId}" /> 
     <f:param value="#{vo.id}" name="patientId"/> 
    </t:commandLink> 
</c:if> 

형식을 기반으로 조건을 추가하려고합니다. vo.type = 1이 Patient를 호출하면. vo.type = 2가 Account를 호출하면 등등.

<c:if> 태그가 작동하지 않는 것 같습니다. 이 문제를 해결하기위한 아이디어 나 조언을 주시면 감사하겠습니다.

답변

3

일반적인 Java와 마찬가지로 ==과 비교해야하며 =이 필요합니다. 동일한 기능이 순수 JSF에 달성 할 경우 구체적인 문제에 관련없는

<c:if test="${vo.type == 1}"> 

, 당신이 선호한다 JSTL을 사용하여 이상. 이 특별한 경우에는 모든 JSF HTML 구성 요소가 지원하는 rendered 속성을 사용할 수 있습니다. 오타에만 코드에서 "=="실제로 게시하면서 "="나는 것에 있었던 입력에 대한

<t:commandLink action="#{Manager.openPatient}" rendered="#{vo.type == 1}"> 
    <t:outputText value="#{vo.patientId}" /> 
    <f:param value="#{vo.id}" name="patientId"/> 
</t:commandLink> 
+0

덕분에 다음과 같이 <c:if> (그리고 불필요한 <c:out>)을 제거하고 <t:commandLink>을 변경하기 지금 렌더링 된 태그를 확인하고 당신을 업데이트 할 것입니다. 나는 이것이 작동 할 것이라고 확신합니다. –

+0

그런 다음 구체적인 문제는 다른 것으로 인해 발생했습니다. 당신이 데이터 테이블에 이걸 가지고 있다고 생각합니다. 그러면 JSTL은 전혀 작동하지 않습니다. 어제 게시 한 [이 답변] (http://stackoverflow.com/questions/5093861/using-cwhen-with-an-enumeration/5094100#5094100)을 읽어보십시오. – BalusC

+0

고마워 할말이 없다. 나는 갈 길이 멀다. 마치 매력처럼 움직였다. –

관련 문제