gpt4 book ai didi

java - 如何使用 Apache Commons BeanUtils 设置日期类型值,

转载 作者:行者123 更新时间:2023-12-01 17:13:50 31 4
gpt4 key购买 nike

我有一个带有 enctype="multipart/form-data" 的 Html 表单。我有一个 dto 类,它具有所有 settergetters。由于我以多部分形式提交表单,getParameter() 方法将不起作用,为了处理 html 表单字段,我使用了 Apache Commons BeanUtils。我的servlet如下,

List<FileItem> items = (List<FileItem>) new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
for (FileItem item : items) {
if (item.isFormField()) {
// Process regular form field (input type="text|radio|checkbox|etc", select, etc).
String fieldname = item.getFieldName();
String fieldvalue = item.getString();
System.out.println(fieldname);
System.out.println(fieldvalue);
// ... (do your job here)
//getters and setters
try {if((!fieldname.equals("dob"))&&(!fieldname.equals("doj"))){
BeanUtils.setProperty(teacherInfo, fieldname, fieldvalue);}
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}

} else {

//Code for file upload
}

我的问题是我无法处理日期类型变量,这就是为什么我忽略在上面的代码和上面的代码中为某些 html 字段设置两个日期值,值不是由 Beans setProperty() 方法设置的。谁能告诉我我哪里错了。 .

最佳答案

BeanUtils 类提供接受 String 值的属性设置方法,并自动将它们转换为适当的属性类型。BeanUtils 类依赖于ConvertUtils 中定义的转换方法。类来执行实际的转换,这些方法也可以直接使用。
对于日期,DateConverter 不支持默认字符串到“日期”的转换,您必须 register DateConverter 的一个实例配置适合您正在使用的日期格式的模式,例如:

DateConverter converter = new DateConverter( null );
converter.setPattern("dd/mm/yyyy");
ConvertUtils.register(converter, Date.class);
BeanUtils.setProperty(obj, "date", "07/04/2014");

关于java - 如何使用 Apache Commons BeanUtils 设置日期类型值,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22912437/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com