[英]JSTL proper for loop syntax
我對JSTL和Java一般都是新手。 是否有更好的方法來格式化這個for循環,似乎我可以將它分解一點以使其更清潔。 理想情況下,我不想逃避字符串,但不確定如何或是否有更好的方法? 我知道在JSTL中聲明變量時,您可以使用c:標記內的屬性執行類似下面的操作。 你可以用for循環做類似的事嗎?
<c:set var="childNode"><%= properties.get("childrenNode", "") %></c:set>
<c:forEach items="<%=childResults.getPath((Child)pageContext.getAttribute(\"childPage\"), currentPage, new showChildrenFilter())%>" var="segment" varStatus="status">
${displaySomething}
</c:forEach>
任何幫助是極大的贊賞!
你的JSP上有很多java代碼(scriptlets)。 使用JSTL可以幫助您擺脫使用scriptlet,因此可以幫助您將代碼邏輯與演示文稿分開,這樣可以提高可維護性。 如您所見,您的頁面上有一些簡單的java代碼。
這就是我如何使用JSTL for循環。 通常在服務器端,我將在請求屬性中准確設置我需要的內容。 所以這可能取決於你的工具/框架,但通常你可以以某種方式訪問HttpServletRequest。 僅使用HttpServlet的doGet()方法作為示例
// this is in my servlet
public void doGet(HttpServletRequest req, HttpServletResponse resp)
{
Collection<Circle> circles = // some logic here
req.setAttribute("circles", circles);
}
然后在JSP上,我將循環遍歷我設置的任何內容
<c:forEach items="${circles}" var="circle">
Radius: ${circle.radius}, Color: ${circle.color} <br/>
</c:forEach>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.