0

我是网络编程的新手,所以这可能是一个愚蠢的问题。这是来自 JSP 页面的片段:

<c:choose>
    <c:when test="${ empty model.toThemAssoc }">
        Not setup to send
    </c:when>
    <c:otherwise>
        Connected since <fmt:formatDate value="${ model.toThemAssoc.dateEntered }"/>
    </c:otherwise>
</c:choose>

我想将 fmt:formatDate 标记的模式属性设置为我可以从 JavaScript 中的 cookie 中检索到的字符串,如下所示:

function getDateFormat {
    return $.cookies.get('dateFormat');
}

虽然下面的代码不起作用,但它代表了我正在寻找的内容:

<fmt:formatDate pattern="getDateFormat()" value="${ model.toThemAssoc.dateEntered }"/>

有什么建议么?提前致谢。

4

1 回答 1

0

这不会按您期望的方式工作。标记在<fmt:formatDate>HTML 内容到达您的浏览器之前被处理和执行。

如果您有关于客户端的信息,需要在数据到达客户端之前从服务器端格式化数据,您将不得不通过 AJAX 或类似的方式来完成。本质上,您必须将该日期格式从 cookie 发送到您的控制器。然后,您的控制器可以按照它认为合适的方式格式化日期,或者通过模型将其传递到视图中,在这种情况下,您可以使用 EL 作为<fmt:formatDate>标签来访问它。

于 2013-07-24T17:43:25.023 回答