如何在Struts 2中格式化货币?

时间:2014-01-07 09:02:39

标签: java jsp struts2 struts ognl

我在Struts中有以下代码

<fmt:formatNumber  type="currency" currencySymbol="Rs" value="${product.priceSell + product.priceSell * rates[nr.count - 1]}" maxFractionDigits="2" minFractionDigits="2"/>

我想将其转换为Struts2。我尝试了下面的代码,但它不起作用。

<s:text name="format.money">
    <s:param name="value" value="%{#product.priceSell+ #product.priceSell * #rates[#nr.count - 1]}" />
</s:text>

注意:费率为Arraylist<String>

1 个答案:

答案 0 :(得分:1)

您可以在Struts2中使用JSTL fmt标记。 JSP EL表达式搜索Struts2中的所有范围和valueStack。类似于OGNL,这将是#attr前缀。因此,要访问范围变量,并在所有范围内搜索,您应该尝试类似

的内容
"%{#attr.product.priceSell+ #attr.product.priceSell * #attr.rates[#attr.nr.count - 1]}"

请注意,表达式中的值不应为String类型。如果将值保留为字符串,那么它需要在将表达式用作有效数字之前解析它们,这在操作中而不是在JSP中更好。