自定义java.util.Date转换起的问题

今天编写了java.util.Date的转换器,虽然写的和教程上的几乎一致,但是就是出现问题,高手帮忙看下吧publicclassUtilDateConverterAct... 今天编写了java.util.Date的转换器,虽然写的和教程上的几乎一致,但是就是出现问题,高手帮忙看下吧
public class UtilDateConverterAction implements Converter {
public Object convert(Class key, Object value) {
if(value==null){
return value;
}
if(value instanceof Date){
return value;
}
Date d = null;
if(value instanceof String){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
d = sdf.parse((String)value);
} catch (ParseException e) {
e.printStackTrace();
}
}
return d;
}
ActionForm是这样的
private int intValue;
private double doubleValue;
private boolean booleanValue;
private java.sql.Date sqlDate ;
private java.util.Date utilDate;
public int getIntValue() {
return intValue;
}
public void setIntValue(int intValue) {
this.intValue = intValue;
}
public double getDoubleValue() {
return doubleValue;
}
public void setDoubleValue(double doubleValue) {
this.doubleValue = doubleValue;
}
public boolean isBooleanValue() {
return booleanValue;
}
public void setBooleanValue(boolean booleanValue) {
this.booleanValue = booleanValue;
}
public java.sql.Date getSqlDate() {
return sqlDate;
}
public void setSqlDate(java.sql.Date sqlDate) {
this.sqlDate = sqlDate;
}
public java.util.Date getUtilDate() {
return utilDate;
}
public void setUtilDate(java.util.Date utilDate) {
this.utilDate = utilDate;
}
使用Servlet注册:
public class UtilDateConverterServlet extends HttpServlet {
public void init() throws ServletException {
ConvertUtils.register(new UtilDateConverterAction(),Date.class);
}
}
web.xml中
<servlet>
<servlet-name>UtilDateConverterServlet</servlet-name>
<servlet-class>com.neusoft.Converter.UtilDateConverterServlet</servlet-class>
<load-on-startup>3</load-on-startup>
</servlet>
struts-config.xml中
<form-bean name="converterForm" type="com.neusoft.Converter.ConverterTestActionForm"/>

<action path="/converter"
type="com.neusoft.Converter.ConverterTestAction"
name="converterForm"
scope="request"
>
<forward name="success" path="/converter/converter_success.jsp"/>
</action>
页面上是这样写的:
<form action="../converter.do" method="post">
int值:<input type="text" name="intValue"/><br/>
boolean值<input type="text" name="booleanValue"><br/>
double值<input type="text" name="doubleValue"/><br/>
sqlDate值<input type="text" name="sqlDate"><br/>
utilDate值<input type="text" name="utilDate"/><br/>
<input type="submit" value="提交">
</form>
然后点击提交后提示java.lang.IllegalArgumentException: Cannot invoke com.neusoft.Converter.ConverterTestActionForm.setUtilDate - argument type mismatch 异常
展开
 我来答
cs当饭吃
2011-02-24 · 超过17用户采纳过TA的回答
知道答主
回答量:76
采纳率:0%
帮助的人:58.6万
展开全部
得用时间戳的类就可以存入数据库,把util.date变为时间戳
追问
时间戳要怎么实现?我看资料上也没用别的,和我写的一样,可是我的就不好使,资料的好使
追答
Timestamp t = new Timestamp(...);
...里面放java.util.date格式的对象
lonxa26
2011-02-23 · TA获得超过300个赞
知道答主
回答量:298
采纳率:100%
帮助的人:229万
展开全部
或者直接创建java.sql.Date对象,楼主试一下。
一楼的方法不推荐使用
追问
java.sql.Date的Struts自己就可以转换,因为Struts无法自动转换util.Date,所以要写个自动转换的方法,我看资料上也是像我这么写的,怪就怪在人家的好使,我的就出异常
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
piliangok
2011-02-24 · TA获得超过168个赞
知道小有建树答主
回答量:106
采纳率:100%
帮助的人:93.4万
展开全部
最好能把异常栈的信息给出,这样很难定位问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kugreen
2011-02-23
知道答主
回答量:15
采纳率:0%
帮助的人:6.5万
展开全部
有待自己实现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式