Ano, s datumami je vseobecne problem :)
Chyba je ukryta vo formate datumu (dd/MM/yyyy vs. dd.MM.YYYY).
Riesenim je pouzit vlastny binder pre datumy, vid.:
protected void initBinder(HttpServletRequest request,
ServletRequestDataBinder binder) throws Exception {
String dateFormat =
getMessageSourceAccessor().getMessage("format.date", "dd.MM.yyyy");
SimpleDateFormat df = new SimpleDateFormat(dateFormat);
df.setLenient(true);
binder.registerCustomEditor(java.util.Date.class, new
CustomDateEditor(df, true));
}
Druha moznost, viac "springova" je nastavit property editor globalne, v
aplikacnom kontexte, viac vid.
http://static.springframework.org/spring/docs/2.5.x/reference/validation.html
Ivan Polák wrote:
dakujem za odpoved, ale mne to ukazuje nasledovnu chybu:
Failed to convert property value of type [java.lang.String] to required
type [java.util.Date] for property 'validFrom'; nested exception is
java.lang.IllegalArgumentException: Cannot convert value of type
[java.lang.String] to required type [java.util.Date] for property
'validFrom': no matching editors or conversion strategy found
ked mam nasledovny zdrojak:
public class House extends BaseObject {
@Column(name = "valid_from")
private Date validFrom;
.... get/set metody
}
konfiguracia Spring MVC:
<bean id="...." class="....">
.....
<property name="commandName" value="house"/>
<property name="commandClass" value="com.xxx.model.House"/>
.....
</bean>
JSP stranka:
<form:form commandName="house" action="" method="post">
...
<tr><td>Platnost od:</td><td><form:input path="validFrom" /></td></tr>
...
</form:form>
Ivan
Tomas Kramar wrote / napĂsal(a):
Toto vobec nie je potrebne. Spring automaticky nabinduje prvky
formulara, na domenovy objekt a vykona potrebne konverzie.
Je ale potrebne nastavit prislusnemu SimpleFormControlleru
<property name="commandName" value="house"/>
<property name="commandClass" value="com.xxx.model.House"/>
--
Tomas Kramar