在我的代碼中,我使用了ArrayList,它在數組列表的每個索引中存儲數字格式,如'$ 0.00到$ 1,000,000.00'。同時在JSP中通過<c:forEach>
標記進行迭代, 將其值打印爲JSTL for array arrayList迭代問題
作爲第一個字符串$ 0.00到$ 1,作爲第二個字符串的000和作爲第三個字符串的000.00。 但它必須打印'$ 0.00到$ 1,000,000.00'。
會出現什麼問題?
在此先感謝
在我的代碼中,我使用了ArrayList,它在數組列表的每個索引中存儲數字格式,如'$ 0.00到$ 1,000,000.00'。同時在JSP中通過<c:forEach>
標記進行迭代, 將其值打印爲JSTL for array arrayList迭代問題
作爲第一個字符串$ 0.00到$ 1,作爲第二個字符串的000和作爲第三個字符串的000.00。 但它必須打印'$ 0.00到$ 1,000,000.00'。
會出現什麼問題?
在此先感謝
您正在遍歷數組元素,而不是數組本身。因此,數組「$ 0.00到$ 1,000,000.00」的元素在逗號位置分開,並且您可以獲得單個元素,如上所述。
下面是一個例子:
<%@ page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
java.util.ArrayList list = new java.util.ArrayList();
list.add("$0.00 to $1,000,000.00");
list.add("$1,000,000.00 to $1,000,000,000.00");
request.setAttribute("list", list);
%>
<h1>Iterating over ArrayList</h1>
<ul>
<c:forEach items="${list}" var="value">
<li><c:out value="${value}"/></li>
</c:forEach>
</ul>
<h1>Iterating over first element of ArrayList</h1>
<ul>
<c:forEach items="${list[0]}" var="value">
<li><c:out value="${value}"/></li>
</c:forEach>
</ul>
我不知道,如果我得到這個權利,但考慮使用JSTL fmt tag library。其formatNumber tag可以處理貨幣。您的示例將變爲:
<c:forEach var="item" items="list">
<fmt:formatNumber type="currency" currencySymbol="$" value="${item}" currencyCode="USD" />
</c:forEach>
嘿,我有同樣的問題,解決的辦法是修整的空間在for:each
標籤。
所以不是這樣(注意之前的 '>' 的空間)
c:forEach items="${list}" var="value" >
到
c:forEach items="${list}" var="value">
//沒有空格。
這將工作肯定..它令人沮喪......但這是它的方式。
這沒有意義。你最初的問題是由別的東西引起的。 – BalusC 2010-08-26 14:01:50
如何發佈您的代碼? – stacker 2010-06-01 06:02:00