2013-04-08 63 views
0
<o:importFunctions type="java.lang.Math" />//omnifaces, see http://showcase.omnifaces.org/taghandlers/importFunctions 
<c:set var="ordersToShow" value="${Math:min(5, processedOrders.size())}" /> // processedOrders is a List 
<p:fieldset legend="Last Stuff (${ordersToShow})">[...]</p:fieldset> 

$ {ordersToShow}的類型爲java.lang.Double(輸出爲「$ {ordersToShow.class}」)並打印某物。如「Last Stuff 2.0」。在內聯文本中將double轉換爲int

我想要輸出「Last Stuff 2」,我該怎麼做?

+0

爲什麼它首先是double而不是整數?如何讓代表「數量」的字段具有雙重類型?你的根本問題是錯誤的數據模型,而不是麻煩的表述。 – BalusC 2013-04-08 13:52:50

+0

你是對的,正確的dataModel我不會有這個問題。我更新了問題以更好地解釋我的問題。如您所見,我無法更改數據模型,因爲在模板中創建了「ordersToShow」。感謝您的omnifaces :: importFunctions。真是奇怪,Math:min似乎爲(int,int)輸入返回一個double。無論如何,國際海事組織應該這樣做,''cast'to jsf-template int'無論如何都是可能的。 – 2013-04-08 14:51:17

回答

-1

您可以使用f:convertNumber。保持minFractionDigits =「0」應該做到這一點。

看到這裏http://www.tutorialspoint.com/jsf/jsf_convertnumber_tag.htm

我沒有使用過電話號碼:字段集那麼現在知道如何在F:convertNumber可以用傳奇來使用,但似乎不可能。

你可以使用這個,用下面的代替c:set和p:fieldset行。 fmt標記這裏解釋http://www.tutorialspoint.com/jsp/jstl_format_formatnumber_tag.htm

<fmt:formatNumber var="ordersToShow" type="number" maxFractionDigits="0" value="${...}" /> 
<p:fieldset legend="Last Stuff (${ordersToShow})">[...]</p:fieldset> 
+0

我到底需要添加轉換器? – 2013-04-08 10:08:26

+0

更新我的答案,包括fmt標籤格式的數字。 – 2013-04-08 10:27:20

+0

''是[不可用](http://docs.oracle.com/javaee/6/javaserverfaces/2.1/docs/vdldocs/facelets/)在Facelets中。 – BalusC 2013-04-08 13:51:41

0

F:convertNumber將拋出錯誤(家長不而ValueHolder的實例)的p:FIELDSET如果其內部使用。

相反,你可以保持一個字符串中託管的bean,並在其吸氣劑可以使用String.format("%.0f", ordersToShow);

否則保持爲字段集的結合變量,並設置在豆上面的格式化值。

+0

感謝您的回覆。我會盡最大努力做到這一點,但我的希望是解決這種觀點 - 在這個觀點中的平等。 – 2013-04-08 14:41:47