2012-05-09 35 views
0

我正在改变一些代码从本土MVC到Spring 2.5 MVC。我们有一个表单来编辑一个对象,所以我在我的控制器中使用formBackingObject()来用当前值填充表单域。在旧的MVC中,我们使用JSTL fmt taglib格式化日期和金钱字段。这很好,因为格式是在表示层。无法使用JSTL格式的taglib与Spring MVC形式

现在有了春天,字段正确地formBackingObject()稀少,但春天不会在form:input元素识别属性的值:如何正确格式的值

<%@ 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> 

思考一个春天的形式?我在网上找不到太多东西,所以我认为它要么是一个非常简单的语法错误,要么是我完全错误的轨道上。

回答

0

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

  1. 我认为一种方式是在后端格式化值并将其设置在前端。
  2. 否则,您可以使用传统的spring:bind而不是弹簧形式。 Spring Bind Reference