jsp标签中的java变量?

发布于 2024-10-19 13:09:43 字数 551 浏览 1 评论 0原文

我正在尝试做这样的事情:

<%
    String headerDateFormat = "EEE, d MMM yyyy h:mm:ss aa"; 
%>

<fmt:formatDate pattern="<% out.print( headerDateFormat ); %>" value="${now}" />

我也尝试过:

<fmt:formatDate pattern="${headerDateFormat}" value="${now}" />

而且:

<fmt:formatDate pattern="headerDateFormat" value="${now}" />

我显然对 JSP 很陌生 - 这可能吗?理想情况下,我希望能够通过 Rhino 在 javascript 中重用 headerDateFormat - 我认为它可以使用它,但不能在 JSP 标记中使用。

I'm trying to do something like this:

<%
    String headerDateFormat = "EEE, d MMM yyyy h:mm:ss aa"; 
%>

<fmt:formatDate pattern="<% out.print( headerDateFormat ); %>" value="${now}" />

I've also tried:

<fmt:formatDate pattern="${headerDateFormat}" value="${now}" />

And:

<fmt:formatDate pattern="headerDateFormat" value="${now}" />

I'm obviously very new to JSP - is this possible? Ideally I'd like to be able to reuse the headerDateFormat in javascript via Rhino - I think as is it will work with it, but not in the JSP tags.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

风向决定发型 2024-10-26 13:09:43

如果您想使用

<fmt:formatDate pattern="${headerDateFormat}" value="${now}" />

(实际上是正确的 方式)

那么您应该将其作为属性放在页面、请求、会话或应用程序范围之一中,并以该名称作为键。假设您想将其放在 servlet 的请求范围内:

String headerDateFormat = "EEE, d MMM yyyy h:mm:ss aa";
request.setAttribute("headerDateFormat", headerDateFormat);

您还可以使用 JSTL 来实现此目的。

<c:set var="headerDateFormat" value="EEE, d MMM yyyy h:mm:ss aa" />

默认情况下,它将在页面范围内设置。

另请参阅:

If you want to use

<fmt:formatDate pattern="${headerDateFormat}" value="${now}" />

(which is actually the right way)

then you should be putting it as an attribute in one of the page, request, session or application scopes with that name as key. Assuming that you want to put it in the request scope in a servlet:

String headerDateFormat = "EEE, d MMM yyyy h:mm:ss aa";
request.setAttribute("headerDateFormat", headerDateFormat);

You can also use JSTL <c:set> for this.

<c:set var="headerDateFormat" value="EEE, d MMM yyyy h:mm:ss aa" />

it will by default be set in the page scope.

See also:

猫九 2024-10-26 13:09:43

在 JSP 中使用附加的 JSTL 标记尝试类似的操作:

<%-- note the single quotes around the value attribute --%>
<c:set var="headerDateFormat" value="'EEE, d MMM yyyy h:mm:ss aa'"/>
<fmt:formatDate pattern="${headerDateFormat}" value="${now}" />

同样在 JSP 中,添加一个 JavaScript 块来访问 JSP 变量:

<script>
  var format = '<c:out value="${headerDateFormat}"/>';
  // use format as needed in JavaScript
</script>

Try something like this using an additional JSTL tag in your JSP:

<%-- note the single quotes around the value attribute --%>
<c:set var="headerDateFormat" value="'EEE, d MMM yyyy h:mm:ss aa'"/>
<fmt:formatDate pattern="${headerDateFormat}" value="${now}" />

Also in your JSP, add a JavaScript block to access the JSP variable:

<script>
  var format = '<c:out value="${headerDateFormat}"/>';
  // use format as needed in JavaScript
</script>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文