我在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>
。
答案 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中更好。