- 浏览: 867 次
- 性别:
- 来自: 深圳
-
最近访客 更多访客>>
文章分类
最新评论
-
89069704:
<div class='quote_title' ...
使用实体对象做为form属性简化开发(数据转型出错) -
javne:
把你的Date类型 声明为java.sql.date
stru ...
使用实体对象做为form属性简化开发(数据转型出错)
1.action
2.bean
3. jsp
4.form
5.错误日志
2008-8-6 18:10:19 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet action threw exception
java.lang.IllegalArgumentException: Cannot invoke com.aptech.coreflow.pojo.Company.setSetupDate - argument type mismatch
at org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:1778)
at org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:1759)
at org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1648)
at org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:1677)
at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1022)
at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:493)
at org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:796)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1192)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:412)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
/* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */ package com.aptech.coreflow.ui.action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.actions.DispatchAction; import com.aptech.coreflow.service.ICompanyService; import com.aptech.coreflow.ui.form.CompanyForm; /** * MyEclipse Struts * Creation date: 08-03-2008 * * XDoclet definition: * @struts.action path="/company" name="companyForm" input="/form/company.jsp" parameter="method" scope="request" validate="true" */ public class CompanyAction extends DispatchAction { /* * Generated Methods */ private ICompanyService companyService; public void setCompanyService(ICompanyService companyService) { this.companyService = companyService; } /** * Method execute * @param mapping * @param form * @param request * @param response * @return ActionForward */ public ActionForward save(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { CompanyForm companyForm = (CompanyForm) form;// TODO Auto-generated method stub companyService.save(companyForm.getCompany()); return null; } public ActionForward delete(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { CompanyForm companyForm = (CompanyForm) form;// TODO Auto-generated method stub companyService.delete(companyForm.getCompany()); return null; } public ActionForward findAll(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { CompanyForm companyForm = (CompanyForm) form;// TODO Auto-generated method stub companyService.findAll(); return null; } public ActionForward attachDirty(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { CompanyForm companyForm = (CompanyForm) form;// TODO Auto-generated method stub companyService.attachDirty(companyForm.getCompany()); return null; } }
2.bean
package com.aptech.coreflow.pojo; import java.util.Date; import java.util.HashSet; import java.util.Set; /** * Company entity. * * @author MyEclipse Persistence Tools */ public class Company implements java.io.Serializable { // Fields private Long recordId; private String companyId; private String companyName; private String companyType; private String companyDesc; private String companyAddr; private String webAddr; private Date setupDate; private String corporation; private Double regcapital; private Integer employees; private String primaryProduct; private String primaryUser; private String linkMan; private String linkTelphone; private String linkFax; private String linkEmail; private Date registerDate; private String remark; private String inUserCode; private Date inDate; private Set userses = new HashSet(0); private Set expertInstances = new HashSet(0); private Set experimentjobs = new HashSet(0); // Constructors /** default constructor */ public Company() { } /** minimal constructor */ public Company(String companyId, String companyName, String companyType, Date setupDate, String corporation) { this.companyId = companyId; this.companyName = companyName; this.companyType = companyType; this.setupDate = setupDate; this.corporation = corporation; } /** full constructor */ public Company(String companyId, String companyName, String companyType, String companyDesc, String companyAddr, String webAddr, Date setupDate, String corporation, Double regcapital, Integer employees, String primaryProduct, String primaryUser, String linkMan, String linkTelphone, String linkFax, String linkEmail, Date registerDate, String remark, String inUserCode, Date inDate, Set userses, Set expertInstances, Set experimentjobs) { this.companyId = companyId; this.companyName = companyName; this.companyType = companyType; this.companyDesc = companyDesc; this.companyAddr = companyAddr; this.webAddr = webAddr; this.setupDate = setupDate; this.corporation = corporation; this.regcapital = regcapital; this.employees = employees; this.primaryProduct = primaryProduct; this.primaryUser = primaryUser; this.linkMan = linkMan; this.linkTelphone = linkTelphone; this.linkFax = linkFax; this.linkEmail = linkEmail; this.registerDate = registerDate; this.remark = remark; this.inUserCode = inUserCode; this.inDate = inDate; this.userses = userses; this.expertInstances = expertInstances; this.experimentjobs = experimentjobs; } // Property accessors public Long getRecordId() { return this.recordId; } public void setRecordId(Long recordId) { this.recordId = recordId; } public String getCompanyId() { return this.companyId; } public void setCompanyId(String companyId) { this.companyId = companyId; } public String getCompanyName() { return this.companyName; } public void setCompanyName(String companyName) { this.companyName = companyName; } public String getCompanyType() { return this.companyType; } public void setCompanyType(String companyType) { this.companyType = companyType; } public String getCompanyDesc() { return this.companyDesc; } public void setCompanyDesc(String companyDesc) { this.companyDesc = companyDesc; } public String getCompanyAddr() { return this.companyAddr; } public void setCompanyAddr(String companyAddr) { this.companyAddr = companyAddr; } public String getWebAddr() { return this.webAddr; } public void setWebAddr(String webAddr) { this.webAddr = webAddr; } public Date getSetupDate() { return this.setupDate; } public void setSetupDate(Date setupDate) { this.setupDate = setupDate; } public String getCorporation() { return this.corporation; } public void setCorporation(String corporation) { this.corporation = corporation; } public Double getRegcapital() { return this.regcapital; } public void setRegcapital(Double regcapital) { this.regcapital = regcapital; } public Integer getEmployees() { return this.employees; } public void setEmployees(Integer employees) { this.employees = employees; } public String getPrimaryProduct() { return this.primaryProduct; } public void setPrimaryProduct(String primaryProduct) { this.primaryProduct = primaryProduct; } public String getPrimaryUser() { return this.primaryUser; } public void setPrimaryUser(String primaryUser) { this.primaryUser = primaryUser; } public String getLinkMan() { return this.linkMan; } public void setLinkMan(String linkMan) { this.linkMan = linkMan; } public String getLinkTelphone() { return this.linkTelphone; } public void setLinkTelphone(String linkTelphone) { this.linkTelphone = linkTelphone; } public String getLinkFax() { return this.linkFax; } public void setLinkFax(String linkFax) { this.linkFax = linkFax; } public String getLinkEmail() { return this.linkEmail; } public void setLinkEmail(String linkEmail) { this.linkEmail = linkEmail; } public Date getRegisterDate() { return this.registerDate; } public void setRegisterDate(Date registerDate) { this.registerDate = registerDate; } public String getRemark() { return this.remark; } public void setRemark(String remark) { this.remark = remark; } public String getInUserCode() { return this.inUserCode; } public void setInUserCode(String inUserCode) { this.inUserCode = inUserCode; } public Date getInDate() { return this.inDate; } public void setInDate(Date inDate) { this.inDate = inDate; } public Set getUserses() { return this.userses; } public void setUserses(Set userses) { this.userses = userses; } public Set getExpertInstances() { return this.expertInstances; } public void setExpertInstances(Set expertInstances) { this.expertInstances = expertInstances; } public Set getExperimentjobs() { return this.experimentjobs; } public void setExperimentjobs(Set experimentjobs) { this.experimentjobs = experimentjobs; } }
3. jsp
<%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%> <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%> <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html > <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>物流公司资料</title> <link rel="stylesheet" type="text/css" href="../css/transport.css" /> <script type="text/javascript" src="../js/function.js"></script> </head> <body> <!--标题--> <div id="title"> <div id="font"> <div id="task"> 物流公司资料 </div> </div> </div> <!--查询 <div id="query"> <form name="form1"> <div id="numbers">公司编号:<input type="text" name="t1" class="inputs"/></div> <div id="numbers">公司名称:<input type="text" name="t2" class="inputs"/> <input type="button" value="查 询" class="button" /></div> </form> </div>--> <!--按钮--> <form name="companyForm" action="/coreflow_4/company.do?method=save"> <div id="buttons"> <div id="six"> <div id="niu"> <input type="button" value="返 回" class="button" onClick="javascript:window.location.href='Fmcf2050.html'" target="ab"> </div> <div id="niu"> <input type="submit" value="保 存" class="button"> </div> </div> </div> <!--分页--> <div id="pagination"> </div> <!--下面主体--> <div id="underside" style="height:expression(body.offsetHeight-80);"> <!--空白间隔--> <!--表格--> <div id="mostly"> <table width="200" border="1" id="table" class="tab"> <tr> <td width="30%" class="td_right"> 编号: </td> <td width="70%" class="td_left"> <input type="text" name="company.companyId"> </td> </tr> <tr> <td class="td_right"> 公司名称: </td> <td class="td_left"> <input type="text" name="company.companyName"> </td> </tr> <tr> <td class="td_right"> 行业: </td> <td class="td_left"> <select name="company.companyType"> <option value="1"> 互联网 </option> <option vaue="2"> 金融 </option> <option vaue="3"> 物流 </option> </select> </td> </tr> <tr> <td class="td_right"> 成立时间: </td> <td class="td_left"> <input type="text" name="company.setupDate"> </td> </tr> <tr> <td class="td_right"> 法人代表: </td> <td class="td_left"> <input type="text" name="company.corporation"> </td> </tr> <tr> <td class="td_right"> 注册资金: </td> <td class="td_left"> <input type="text" name="company.regcapital"> </td> </tr> <tr> <td class="td_right"> 员工人数: </td> <td class="td_left"> <input type="text" name="company.employees"> </td> </tr> <tr> <td class="td_right"> 主要产品: </td> <td class="td_left"> <input type="text" name="company.primaryProduct"> </td> </tr> <tr> <td class="td_right"> 主要客户: </td> <td class="td_left"> <input type="text" name="company.primaryUser"> </td> </tr> <tr> <td class="td_right"> 公司简介: </td> <td class="td_left"> <textarea name="company.companyDesc" cols="1" rows="2" style="width:200px;"></textarea> </td> </tr> <tr> <td class="td_right"> 联系人: </td> <td class="td_left"> <input type="text" name="company.linkMan"> </td> </tr> <tr> <td class="td_right"> 电话: </td> <td class="td_left"> <input type="text" name="company.linkTelphone"> </td> </tr> <tr> <td class="td_right"> 传真: </td> <td class="td_left"> <input type="text" name="company.linkFax"> </td> </tr> <tr> <td class="td_right"> 网址: </td> <td class="td_left"> <input type="text" name="company.webAddr"> </td> </tr> <tr> <td class="td_right"> 邮箱: </td> <td class="td_left"> <input type="text" name="company.linkEmail"> </td> </tr> </table> </div> <!--副表格--> <!--end--> </div></form> </body> </html>
4.form
/* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */ package com.aptech.coreflow.ui.form; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; import com.aptech.coreflow.pojo.Company; /** * MyEclipse Struts * Creation date: 08-03-2008 * * XDoclet definition: * @struts.form name="companyForm" */ public class CompanyForm extends ActionForm { /* * Generated Methods */ private Company company=new Company(); /** * Method validate * @param mapping * @param request * @return ActionErrors */ public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { // TODO Auto-generated method stub return null; } /** * Method reset * @param mapping * @param request */ public void reset(ActionMapping mapping, HttpServletRequest request) { // TODO Auto-generated method stub } public Company getCompany() { return company; } public void setCompany(Company company) { this.company = company; } }
5.错误日志
2008-8-6 18:10:19 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet action threw exception
java.lang.IllegalArgumentException: Cannot invoke com.aptech.coreflow.pojo.Company.setSetupDate - argument type mismatch
at org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:1778)
at org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:1759)
at org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1648)
at org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:1677)
at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1022)
at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:493)
at org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:796)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1192)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:412)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
评论
2 楼
89069704
2008-08-06
<div class='quote_title'>javne 写道</div>
<div class='quote_div'>把你的Date类型 声明为java.sql.date struts的类型自动转换不支持java.util.date的转换 </div>
<p><br/>谢谢javne,问题解决了。以后还多多请教各位前辈了</p>
<div class='quote_div'>把你的Date类型 声明为java.sql.date struts的类型自动转换不支持java.util.date的转换 </div>
<p><br/>谢谢javne,问题解决了。以后还多多请教各位前辈了</p>
1 楼
javne
2008-08-06
把你的Date类型 声明为java.sql.date
struts的类型自动转换不支持java.util.date的转换
struts的类型自动转换不支持java.util.date的转换
相关推荐
本篇文章将深入探讨如何利用jQuery从JSON对象转换为form提交数据。 首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和...
form数据与json对象的互相转换(完整版) * 将web Form 的数据转化成json字符串 * 将json对象的值解析后填入web Form 在AJAX开发中这是关键技术: 1、将form中的数据利用本工具转换成json格式的字符串,再通过ajax传...
本文将详细讲解如何利用反射机制动态获取对象的属性名称及其数据类型,以C#语言为例,结合ASP.NET环境进行阐述。 首先,我们需要创建一个实体类,例如`Student`,这个类包含了姓名(UserName)、年龄(Age)和地址...
微信小程序中的`<form>`表单组件为开发者提供了便捷的数据收集和处理方式,结合数据绑定、事件监听、数据校验以及文件上传等功能,可以构建出丰富的用户交互体验。通过理解和熟练运用这些知识点,开发者能够更好地...
通常前端通过POST请求向服务器端提交...有的时候后台需要Form形式的数据才能正常解析,所以前端需要在传过去时修改一下格式。开始我以为是修改Content-Tyoe属性,于是就 axios.defaults.headers = { 'Content-type'
数据绑定是Windows Forms开发中的一个重要概念,它简化了数据与UI元素之间的交互。在C#中,我们可以使用各种方法来实现数据绑定,如DataSource属性、BindingSource组件和DataBinding类等。 1. **DataSource属性**:...
3. 编写逻辑:在Form Builder中,为控件编写触发器(如WHEN-NEW-FORM-INSTANCE, WHEN-BUTTON-PRESSED等),实现业务逻辑。 4. 数据绑定:将数据库表或视图的字段与Form的字段关联,实现数据的读取和更新。 5. 测试与...
1 method是指定数据如何发送到服务器的一个属性 2 只可能是post和get post:官方解释是把数据通过post会话传送到服务器。实际就是提交数据。 get:将表单中数据的按照variable=value的形式,添加到action所指向的URL...
接下来,我们可以使用jQuery的`ajax`方法将JSON数据发送到服务器,这里以Oracle数据库为例,通常会有一个后端接口来处理这些数据。假设后端接口URL为`/api/insertUser`,可以这样编写`ajax`请求: ```javascript $....
在模板例子中,我们可以修改 WHEN-NEW-FORM-INSTANCE 中文件夹数据块定义语句中的参数,确定对象名称(一般为 form 对象名称)、文件夹数据块名称、标题块名称、堆叠画布名称、窗口名称等。 例如,我们可以定义一个...
在Oracle Forms开发中,"FORM开发FOLDER参考实例"是一个教程,旨在帮助开发者实现类似Oracle标准Folder的功能。这个过程涉及到创建新的Form,添加必要的对象,调整触发器和程序单元,以及集成Oracle标准Form中的组件...
这在开发GUI应用程序时尤为常见,例如一个窗体(Form1)打开另一个窗体(Form2),然后Form2执行某些操作并返回结果给Form1,或者调用Form1中的方法。这个过程可以通过多种方式实现,其中一种常见且灵活的方法是使用...
了解并熟练使用Response对象,对于编写高效的ASP应用程序至关重要。在实际开发中,还可以结合Request对象获取用户输入,Session对象跟踪用户会话,Application对象实现全局变量等,以构建更复杂的应用场景。
4. 传递数据:如果需要在不同的Form之间传递数据,可以使用几种方式。一种是通过构造函数传递: ```delphi type TSecondForm = class(TForm) private FData: string; public constructor Create(AOwner: ...
Oracle EBS Form 开发是构建企业级业务应用的关键部分,主要针对Oracle企业资源规划系统(Enterprise Business Suite,EBS)。以下是一些关于Oracle EBS Form开发的重要知识点: 1. **基础开发环境设置**: - ...
这个"ASP对象属性参考手册"显然是一个关于ASP中核心对象及其属性的详细指南。在ASP中,有几个关键的对象,它们是Web应用程序的核心组成部分,包括Request、Response、Session、Application、Server和ObjectContext等...
在SuperMap Objects .NET中,可以使用TableForm类来展示属性表,通过绑定记录集到TableForm,用户就能直观地查看和操作数据。此外,还需要实现右键菜单的功能,这通常需要处理鼠标事件,当用户右键点击数据集时,弹...
在Oracle Form开发中,Form对象的属性是定义和控制用户界面行为的关键元素。这些属性决定了对象的外观、功能以及交互方式。以下是对一些常用属性的详细解释: 1. **Name**(名称):每个对象都有一个唯一的名字,...
### Oracle EBS Form开发知识点详解 #### 一、FormBuilder的简介 FormBuilder是Oracle E-Business Suite (EBS)中用于创建用户界面的一种工具,主要用于构建与数据库交互的前端表单应用程序。它允许开发者使用图形...
在网页开发中,表单验证是一项至关重要的任务,它确保用户输入的数据符合预期格式和规则,从而保护数据安全,提供良好的用户体验。`FormValidation`是一个强大的JavaScript库,它结合了`jQuery`和`Bootstrap`框架,...