2012-03-26 4 views
1

で、これは私のコードです:a4j:コマンドボタンを許可していないが、 "<"、レンダリング

Error Traced[line: 114] The value of attribute "rendered" associated with an element type "a4j:commandButton" must not contain the '<' character. 

任意のアイデア理由:

<a4j:outputPanel ajaxRendered="true"> 
    <h:form> 
      <rich:dataTable id="iprangesList" 
       value="#{ipRangeOverviewAction_publicIpRangeList}" 
       var="iprange" rendered="#{ipRangeOverviewAction_publicIpRangeList.size>0}" 
       style="width: 100%" 
       rows="20" 
       onRowMouseOver="this.style.backgroundColor='#F1F1F1'" 
       onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"> 
        <f:facet name="header"> 
         <h:outputText value="#{ipRangeOverviewAction_publicIpRangeList.size} record(s) found."/> 
        </f:facet> 


       <rich:column> 
        <f:facet name="header">Information</f:facet> 
         <h:outputText value="#{iprange.info}"/> 
       </rich:column> 
       <rich:column> 
        <f:facet name="header">Edit</f:facet> 

        <a4j:commandButton action="#{ipRangeOverviewAction.redirectStringForEdit(iprange)}" 
             value="edit" 
             rendered="#{ipRange.status < 2}"/>     

       </rich:column> 

       <f:facet name="footer"> 
       <rich:datascroller renderIfSinglePage="false" maxPages="5"/> 
       </f:facet>  
      </rich:dataTable> 

      </h:form> 
      </a4j:outputPanel> 

これは私が取得エラーですか?助けが本当に感謝されるだろう。事前

答えて

2

おかげで

rendered="#{ipRange.status lt 2}"/> 

EDITで

rendered="#{ipRange.status < 2}"/> 

を交換してください:質問がある場合は、「なぜこのエラーが起こっているのFaceletsと式言語のドキュメントは、それがあると言うとき、有効な構文ですか?私はこの答えを持っていないし、私はこの答えを削除します。

0

次のいずれかの構文を使用できます。

#{ipRange.status lt 2} 

または

#{ipRange.status &lt; 2} 

あなたはJSFの内側に "<" の文字を使用する場合、それはあなたのXHTMLページを解析しようとすると、XMLパーサーは、このエラーを与える属性。 この文字を "& lt;"に置き換えるか、JSFが使用する構文(上記のように "")を使用するだけで簡単にエスケープできます。 (,はLess Thanの略)

関連する問題