2010-05-20 23 views
1

爲我所希望的下不起作用:我的Facelets轉換器可以依賴`ui:repeat`循環var嗎?

<ul> 
    <ui:repeat var="i" value="#{fn:split('1,2,3,4', ',')}"> 
     <li> 
      <h:outputText value="1.2345"> 
       <f:convertNumber 
         minFractionDigits="#{i}" 
         maxFractionDigits="#{i}" /> 
      </h:outputText> 
     </li> 
    </ui:repeat> 
</ul> 

我希望看到:

  • 1.2
  • 1.23
  • 1.234
  • 1.2345

相反,我看到:

我缺少什麼?我的猜測是,轉換器在運行時循環發生之前最初加載Facelet時被初始化。有沒有解決的辦法?

我的真實用例涉及RichFaces rich:dataTable組件,而不是ui:repeat,但其要點相同。

回答

1

它確實沒有工作。即使你使用<h:outputText value="#{1.2345}">,這是更正確的。

我想,如果你需要這個,你將不得不在託管bean中準備輸出。