这是一个用来注册转换器的servlet:
package myFamily;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import org.apache.commons.beanutils.ConvertUtils;
public class MyServlet extends HttpServlet {
@Override
public void init() throws ServletException {
ConvertUtils.register(new MyConverter(), java.util.Date.class);
}
}
我要问的问题与转换器无关,
我想问的是
java.util.Date.class
其中这个.class是什么意思,
Date类没这个字段,
Object类也没有,
搞不懂,我甚至不知道这种语法是怎么通过的。另外,
还请帮忙解释一下:
java.util.Date.class
与
Class.forName("java.util.Date");两者有什么区别,谢谢!
package myFamily;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import org.apache.commons.beanutils.ConvertUtils;
public class MyServlet extends HttpServlet {
@Override
public void init() throws ServletException {
ConvertUtils.register(new MyConverter(), java.util.Date.class);
}
}
我要问的问题与转换器无关,
我想问的是
java.util.Date.class
其中这个.class是什么意思,
Date类没这个字段,
Object类也没有,
搞不懂,我甚至不知道这种语法是怎么通过的。另外,
还请帮忙解释一下:
java.util.Date.class
与
Class.forName("java.util.Date");两者有什么区别,谢谢!
可是把这个程序中的
java.util.Date.class
换成
Class.forName("java.util.Date")
编译就会出错
用以上代码,该转换器可以正常工作,
但如果改成try {
ConvertUtils.register(new MyConverter(), Class.forName("java.lang.Date"));
} catch (ClassNotFoundException e) {
e.printStackTrace();
}代开网页时就报这样的错:
javax.servlet.ServletException: javax.servlet.ServletException: BeanUtils.populate
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)root causejavax.servlet.ServletException: BeanUtils.populate
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:475)
org.apache.struts.chain.commands.servlet.PopulateActionForm.populate(PopulateActionForm.java:50)
org.apache.struts.chain.commands.AbstractPopulateActionForm.execute(AbstractPopulateActionForm.java:60)
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)root causeorg.apache.commons.beanutils.ConversionException: DateConverter does not support default String to 'Date' conversion.
org.apache.commons.beanutils.converters.DateTimeConverter.toDate(DateTimeConverter.java:468)
org.apache.commons.beanutils.converters.DateTimeConverter.convertToType(DateTimeConverter.java:343)
org.apache.commons.beanutils.converters.AbstractConverter.convert(AbstractConverter.java:156)
org.apache.commons.beanutils.converters.ConverterFacade.convert(ConverterFacade.java:60)
org.apache.commons.beanutils.ConvertUtilsBean.convert(ConvertUtilsBean.java:470)
org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1006)
org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:830)
org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:433)
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:473)
org.apache.struts.chain.commands.servlet.PopulateActionForm.populate(PopulateActionForm.java:50)
org.apache.struts.chain.commands.AbstractPopulateActionForm.execute(AbstractPopulateActionForm.java:60)
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
有空的话帮忙看看