Javascript 在fmt:formatNumber中获取动态模式
我有以下代码: 我想用十进制数计算formatNumber的模式 使用jslt调用:Javascript 在fmt:formatNumber中获取动态模式,javascript,html,jstl,Javascript,Html,Jstl,我有以下代码: 我想用十进制数计算formatNumber的模式 使用jslt调用: <td class="TD_Suivi"><fmt:formatNumber type="number" pattern="${getNumberFormatPatern(4)}" value="${toto.montant}" /> </td> function getNumberFormatPatern(nbDecimal) { "##,##0.00"
<td class="TD_Suivi"><fmt:formatNumber type="number" pattern="${getNumberFormatPatern(4)}" value="${toto.montant}" /> </td>
function getNumberFormatPatern(nbDecimal) {
"##,##0.00"
var numberFormatPattern1="##,";
var numberFormatPattern2 ="0.";
for (i = 0; i < nbDecimal; i++)
{
numberFormatPattern1+="#";
numberFormatPattern2+="0";
}
return numberFormatPattern1+numberFormatPattern2
不能在表达式中调用JavaScript函数。在客户端开始处理页面上的JavaScript之前,容器将使用表达式生成内容,因此容器无法解析表达式以按原样调用函数 你有两个选择:
private String getNumberFormatPattern(int nbDecimal) {
String numberFormatPattern1 = "##,";
String numberFormatPattern2 = "0.";
for (int i = 0; i < nbDecimal; i++) {
numberFormatPattern1 += "#";
numberFormatPattern2 += "0";
}
return numberFormatPattern1 + numberFormatPattern2;
}
并在表达式中这样引用它:
<fmt:formatNumber type="number" pattern="${ numberFormatPattern }" value="${ toto.montant }" />
getNumberFormatPattern()
函数。谢谢您的回答:)我选择了您的第一个命题。
private String getNumberFormatPattern(int nbDecimal) {
String numberFormatPattern1 = "##,";
String numberFormatPattern2 = "0.";
for (int i = 0; i < nbDecimal; i++) {
numberFormatPattern1 += "#";
numberFormatPattern2 += "0";
}
return numberFormatPattern1 + numberFormatPattern2;
}
request.setAttribute("numberFormatPattern", getNumberFormatPattern(4));
<fmt:formatNumber type="number" pattern="${ numberFormatPattern }" value="${ toto.montant }" />