1
有沒有一個jsp/jstl相當於這個Rails錯誤閃存?如何模擬jsp中的Rails錯誤閃存?
<%- flash.each do |name, msg| -%>
<%= content_tag :div, msg, :id => "flash_#{name}" %>
<%- end -%>
我一直在尋找一個像這個Rails成語一樣簡單的預構建解決方案。
有沒有一個jsp/jstl相當於這個Rails錯誤閃存?如何模擬jsp中的Rails錯誤閃存?
<%- flash.each do |name, msg| -%>
<%= content_tag :div, msg, :id => "flash_#{name}" %>
<%- end -%>
我一直在尋找一個像這個Rails成語一樣簡單的預構建解決方案。
您可以使用JSTL c:forEach
遍歷Map<String, String>
。每一次迭代都會給你一個Map.Entry
,它又有getKey()
和getValue()
方法。假設你已經把它在請求範圍由重點messages
,這裏有一個例子:
<dl>
<c:forEach items="${messages}" var="entry">
<dt>${entry.key}</dt><dd>${entry.value}</dd>
</c:forEach>
</dl>
順便說一句,JSP/JSTL是不是真的堪比RoR的MVC框架。 JSP/JSTL相當低級,並且幾乎沒有提供任何有用的抽象/設施來代表體面的MVC方法。您可能希望改爲查看JSF 2.0。這是Java EE提供的MVC框架。 JSP是只是一種視圖技術。 JSTL是只是一個標準的流/函數/格式taglib。 Here's a JSF 2.0 tutorial。
感謝您的JSF鏈接。其他人告訴我看Sitemesh。這與JSF類似嗎? – peasoup 2010-08-24 13:39:08
Sitemesh是一個模板(佈局/裝飾/包含)框架。這不是一個MVC框架。 JSF 2.0中也不需要它。 JSF 2.0本身使用Facelets而不是JSP作爲視圖技術,這反過來已經提供了非常棒的模板可能性。檢查[這個答案](http://stackoverflow.com/questions/2095397/what-is-the-difference-between-jsf-servlet-and-jsp/2097732#2097732)瞭解更多關於JSP/Servlet/JSF。 – BalusC 2010-08-24 13:40:24
不客氣。 – BalusC 2010-08-24 14:00:22