8
我使用JSP作爲視圖,Spring MVC 3.0作爲控制器。 在我的JSP中,我要顯示當前日期時間,對此我有以下代碼...在JSP/JSTL中的嵌套表達式
<c:set var="dateTimeDisplayFormat" value='<spring:message code="display.dateFormat" />'/>
<c:set var="currentDateTime"
value='<%= new SimpleDateFormat(${dateTimeDisplayFormat}).format(new Date()) %>'
scope="page" />
現在的問題是JSTL沒有認識到我的SimpleDateFormat的實例嵌套的標籤。我希望將格式字符串(從'dateTimeDisplayFormat'變量中獲得)傳遞給SimpleDateFormat構造函數。
有人請指教如何在上面的c:set語句中爲SimpleDateFormat編寫嵌套構造函數?
感謝您的期待!
謝謝你這麼多Skaffman,但你提出的第一個解決方案,沒有工作:(它給了我一個異常 –
PaiS
2010-07-28 08:44:49
PWC6197:27在jsp文件:/WEB-INF/views/common/header.jsp PWC6199:生成的servlet錯誤:令牌 「$」 語法錯誤,AssignmentOperator預計此令牌 後的行發生錯誤 感謝您打開我的眼睛到第二種方法,但與此同時,日期現在顯示在頁面上,與我所有餘下的代碼是相同的,即。
OMG!如此愚蠢的是,我沒有在頁面的頂部包含JSTL庫的格式,因此第二種方法無法工作。 現在它完美地展示了日期,並且非常感謝Skaffman的整潔方法! – PaiS 2010-07-28 09:01:16
答案在精神上是正確的,但是語法錯誤來自混合scriptlet和el。這是真正的Java代碼(argh,不應該發生在JSP中),所以el變量可以(但不應該)像這樣訪問:'<%= new SimpleDateFormat(pageContext.getAttribute(「dateTimeDisplayFormat」))。格式(新日期())%>' – 2010-07-28 09:04:57