У меня проблема с обработкой входного параметра запроса (конечно, это тип String) до java.util.Date
. Я думал, что следующий код, добавленный к моему бину, может решить эту проблему, но я ошибся:
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public void setDate(String dateString) {
try {
date = DateFormat.getDateInstance().parse(dateString);
} catch (ParseException e) {
date = new Date();
}
}
Выдает исключение после отправки формы:
javax.servlet.ServletException: BeanUtils.populate
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:469)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:818)
java.lang.IllegalArgumentException: Cannot invoke com.epam.testapp.model.News.setDate - argument type mismatch
org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:1778)
org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:1759)
org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1648)
org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:1677)
Является ли этот фундамент формы Struts 1 тем, что этот код не будет работать из-за несоответствия возвращаемых методов получения и получения параметров параметров установки? Как я могу решить эту проблему ? Я вообще не хочу делать метод с именем вроде setStringDate(String stringDate(){...}
и думать на каждой странице, какой метод мне следует вызывать: (