2012-05-09 36 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