0

我正在将一些代码从自制的 MVC 更改为 Spring 2.5 MVC。我们有一个表单来编辑一个对象,所以我formBackingObject()在我的控制器中使用当前值填充表单字段。在旧的 MVC 中,我们使用 JSTLfmt标签库来格式化日期和货币字段。这很好,因为格式在表示层中。

现在使用 Spring,字段被正确填充formBackingObject(),但 Spring 无法识别form:input元素中的 value 属性:

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

<form:form method="post" commandName="editProgramCommand" name="editTitleForm">
  <fmt:formatNumber type="NUMBER" value="${program.price}" var="formattedPrice" minFractionDigits="2" />
  <form:input path="price" id="price" value="${formattedPrice}" />
  ... other fields
</form:form>

关于如何正确格式化 Spring 表单中的值的想法?我在网上找不到太多东西,所以我认为它要么是一个非常简单的语法错误,要么我完全走错了路。

4

1 回答 1

0

Springform:input从其path属性而不是从value属性中识别输入的值。如果您看到spring 表单 tld,则表单输入标记没有属性值。

  1. 我认为的一种方法是在后端格式化值并将其带到前端并将其设置。
  2. 否则,您可以使用常规spring:bind代替弹簧形式。弹簧绑定参考
于 2012-05-09T19:14:49.973 回答