2011-02-25 68 views
0

我使用JSF 1.1和戰斧和Tomcat 6.0JSTL <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確實呼叫患者。 如果vo.type = 2做呼叫帳戶等。

似乎<c:if>標籤不工作。任何想法或指針在解決這個問題將不勝感激。

回答

3

等作爲正常的Java,你需要==比較,而不是與=

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

無關的具體問題,如果相同的功能是用純JSF實現,那麼你應該更喜歡使用過JSTL。在這種情況下,您可以僅使用每個JSF HTML組件支持的rendered屬性。擺脫<c:if>(和多餘<c:out>)和改變<t:commandLink>如下:

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

謝謝你的投入有一個錯字在「=」同時發佈,它實際上是「==」只在代碼中,我會檢查現在提交的標籤,並會更新你..我很確定這將工作 – 2011-02-25 03:12:49

+0

然後具體問題是由其他事情引起的。我的分錢,你有這個數據表。然後JSTL根本不會工作。閱讀[這個答案](http://stackoverflow.com/questions/5093861/using-cwhen-with-an-enumeration/5094100#5094100)昨天,我貼了更多的細節。 – BalusC 2011-02-25 03:17:22

+0

什麼話來感謝你,我還有很長的路要走,它的工作就像魅力 – 2011-02-25 03:19:35