2010-05-20 76 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中准备输出。