我在struts 2 web应用程序的jsp页面中使用了两个struts/dojo datetimepicker,它们允许选择日期并正确显示,但当我提交表单并访问变量中的datetimepicker值(使用getter和setter)时,该值与jsp表单中的datetimepicker名称相同,它返回空值。
我想知道如何在struts操作中获取datetimepickers值,然后将其存储在MySQL数据库中
我的jsp页面--〉
<%@taglib prefix="sx" uri="/struts-dojo-tags"%>
<html>
<head>
<sx:head />
</head>
<body>
<form name="cFrom" method="post" action="saveForm"
enctype="multipart/form-data">
state Date: <sx:datetimepicker formatLength="medium" value="%{'today'}"
name="sDate"></sx:datetimepicker><br/>
End Date: <sx:datetimepicker formatLength="medium" name="eDate">
</sx:datetimepicker><br/>
<button type="submit">Save</button>
</form>
</body>
</html>
操作类--〉
import java.util.*;
public class saveFormAction extends ActionSupport{
private static final long serialVersionUID = 1L;
private Date sDate;
private Date eDate;
public Date getsDate() {
return sDate;
}
public void setsDate(Date sDate) {
this.sDate = sDate;
}
public Date geteDate() {
return eDate;
}
public void seteDate(Date eDate) {
this.eDate = eDate;
}
public String saveForm() throws SQLException{
Connection con=DBConnect.makeConnection();
PreparedStatement pst=con.prepareStatement("INSERT INTO saveForm(Start_ON,
Expire_On) values(?,?)");
pst.setDate(1, sDate);
pst.setDate(2, eDate);
int i=0;
i=pst.executeUpdate();
if(i>0){
return SUCCESS;
}
return ERROR;
}
}
MySQL表格--〉
CREATE TABLE saveform(start_on DATE, Expire_On DATE)
2条答案
按热度按时间im9ewurl1#
当您使用
private String Date
时,Datetimepicker以2013-03-27T00:00:00+11:00
提供值,但您使用的是private Date sDate
,这会导致类型missmacth问题。要解决此问题,需要将datetimepicker类型转换为java.util.Date format
,您可以通过以下方式进行转换kpbwa7wx2#
我更正了getter和setter,并且在以下行中出现了另一个错误--〉
我用下面的代码替换了上面的代码行--〉