一尘不染

我可以格式化文本文件的数字值,但无法更新它

jsp

我正在尝试更新表单上的一些数字值。一旦显示的值没有格式,我就可以轻松地将它们更改为任何数字,并且正确的数字将发送到后端。但是,如果我输入一个大数字(例如6000000),它将在浏览器上更改为6.0E7,但是正确的数字将被发送到后端。我添加了fmt库来格式化数字,但是当我提交表单时,它将发送0到后端。

<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

<s:textfield id="price" name="price" value="%{price}" theme="simple"/>  //6.0E7


<input name="price" id="price" value='<fmt:formatNumber value='${price}'/>'/> //0

阅读 233

收藏
2020-06-10

共1个答案

一尘不染

您不需要使用JSTL的fmt,Struts2具有内置的 Formatting
Utilities

然后代替

<s:textfield name="price" value="%{price}" />  
<!-- output: 6.0E7 -->

使用例如

<s:textfield name="price" value="%{getText('{0,number,#,##0.00}', {price})}" />
<!-- output: 6000000.00 -->

2020-06-10