我在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>

最佳答案

可以在struts2中使用jstlfmt标记。jsp el表达式搜索struts2中的所有作用域和valueStack。与ognl类似的是#attr前缀。所以,要访问作用域变量并在所有作用域中搜索,您应该尝试

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

注意,表达式中的值不应为String类型。如果将值保留为字符串,则在将其作为有效数字在表达式中使用之前,它需要对其进行解析,这最好在操作中进行,而不是在jsp中进行。

09-25 19:09