/ / Nie można użyć taglib formatu JSTL z formularzem Spring MVC - spring, spring-mvc

Nie można użyć taglib formatu JSTL z formularzem Spring MVC - spring, spring-mvc

Zmieniam kod z domowej uprawy MVC na Spring 2,5 MVC. Mamy formularz do edycji obiektu, więc używam go formBackingObject() w moim kontrolerze, aby wypełnić pola formularza bieżącymi wartościami. W starym MVC użyliśmy JSTL fmt taglib do formatowania pól daty i pieniędzy. To było miłe, ponieważ formatowanie było w warstwie prezentacji.

Teraz, w Spring, pola są wypełnione poprawnie formBackingObject(), ale Spring nie rozpoznaje atrybutu value w pliku form:input element:

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

Myśli o tym, jak prawidłowo formatować wartości w formie wiosennej? Nie znajduję zbyt wiele w Internecie, więc stwierdzam, że jest to albo bardzo prosty błąd składniowy, albo jestem całkowicie na niewłaściwym torze.

Odpowiedzi:

0 dla odpowiedzi № 1

Wiosna form:input rozpoznać wartość wejścia od jego path atrybut, a nie z value atrybut. Jeśli widzisz forma sprężysta tld, nie ma wartości atrybutu dla znacznika wejściowego formularza.

  1. Jednym ze sposobów, które moim zdaniem jest formatowanie wartości w back end i przynieść i ustawić go z przodu.
  2. W przeciwnym razie możesz użyć konwencjonalnego spring:bind zamiast formy sprężynowej. Odnośnik Spring Bind