Struts 框架中的时间问题
在我们开发过程中Struts核心组件ActionForm会对页面日期文本框自动封装,但是如果我们的文本框为空时提交,就会报错!原因:struts框架对于日期类(java.sql.Date)型属性的封装要求是不能为空,否则就会报错!
解决方式:
1.在实体类中给date类型的属性在配置一个String类型的属性,因为String类型可以为空!代码如下:
PetInfo:
import java.sql.Date;
public class PetInfo {
private Date date;
private String tdate;
public String getTdate() {
return tdate;
}
public void setTdate(String tdate) {
this.tdate = tdate;
}
public Date getDate() {
if(tdate!=null&tdate!=""){
return this.date =java.sql.Date.valueOf(tdate);
}
return date;
}
}
PetForm:
public class AddForm extends ActionForm {
private PetInfo item=new PetInfo();
public PetInfo getItem() {
return item;
}
public void setItem(PetInfo item) {
this.item = item;
}
}
JSP:
<html:form action="/add">
date : <html:textproperty="item.tdate"/><html:errorsproperty="date"/><br/>
<html:submit/><html:cancel/>
</html:form>