【发布时间】:2014-04-11 17:20:03
【问题描述】:
在我的基于 jstl 的网站上,我使用以下标签来显示价格:
<fmt:formatNumber value="10" minFractionDigits="2" maxFractionDigits="2" currencySymbol="$"/>
这个标签效果很好,因为它甚至可以用本地设置格式化货币。
但是,我现在想结合使用 Ajax 和 Java Servlet 来更新这个值。所以我基本上需要的是一种在我的 Servlet 中“使用”这个标签的方法。
我实际上尝试通过查看源代码来重建功能:http://grepcode.com/file/repo1.maven.org/maven2/javax.servlet/jstl/1.2/org/apache/taglibs/standard/tag/rt/fmt/FormatNumberTag.java
但事实证明这很乏味,所以我想知道是否有更优雅的解决方案。
【问题讨论】:
-
为什么不将 JSP 与 servlet 结合使用来呈现 AJAX 响应?
-
一个很好的例子说明如何做到这一点
-
您在 servlet 中计算您的值,将它们放入请求上下文中,然后转发给 JSP 进行渲染。例如谷歌“从 servlet 调用 jsp”。
-
这意味着我必须编写一个 JSP 模板,它可以从请求属性中解析 JSON,并且有一些神奇的方法可以从属性名称派生是否对其应用数字格式。我认为并不是那么优雅。
-
嗯,对不起,我不明白。为什么您的 JSP 模板应该解析 JSON 输入?首先调用您的 servlet。无论如何,它必须解析 JSON。然后 servlet 处理输入数据,产生一些内部状态,通常称为模型。只有从模型中创建适当输出格式的部分不同。而是在 servlet 中执行此操作,您将模型转发到 JSP 以创建输出。您的 servlet 如何知道何时进行数字格式化?您可以将相同的算法应用到您的 JSP 中。
标签: java ajax jsp servlets jstl