java.lang.IllegalArgumentException: argument type mismatch
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
NativeMethodAccessorImpl有这个类吗?如果有应该是这个类里面的方法有错把代码帖来看看吧
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
NativeMethodAccessorImpl有这个类吗?如果有应该是这个类里面的方法有错把代码帖来看看吧
package com.fund.struts.action;import java.util.List;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;import com.fund.manager.ClientManager;
import com.fund.struts.form.SearchClientForm;
import com.fund.struts.form.UpdateClientForm;
import com.fund.to.Client;/**
* MyEclipse Struts
* Creation date: 06-02-2007
*
* XDoclet definition:
* @struts.action path="/searchClient" name="searchClientForm" input="/page/client/searchClient.jsp" scope="request" validate="true"
*/
public class SearchClientAction extends Action {
/*
* Generated Methods
*/ /**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
SearchClientForm searchClientForm = (SearchClientForm) form;// TODO Auto-generated method stub
String clientNo = searchClientForm.getClientNo();
String idCardNo = searchClientForm.getIdCardNo();
Client client = null;
List clientList = null;
if(clientNo!=null && !"".equals(clientNo.trim())){
client = ClientManager.getInstance().findByNo(new Integer(clientNo));
}
if(idCardNo!=null && !"".equals(idCardNo.trim())){
client = ClientManager.getInstance().findByIDCard(idCardNo);
}
if((clientNo==null || "".equals(clientNo.trim())) && (idCardNo==null || "".equals(idCardNo.trim()))){
clientList = ClientManager.getInstance().findAll();
}
System.out.println(client==null);
if(client!=null){
//updateClientForm是更新客户信息的Form用于填充查询结果表单
UpdateClientForm updateClientForm = new UpdateClientForm();
updateClientForm.setClientName(client.getClientName());
updateClientForm.setIdCardNo(client.getIdCardNo());
updateClientForm.setSex(client.getSex());
updateClientForm.setPhone(client.getPhone());
updateClientForm.setAddress(client.getAddress());
updateClientForm.setEmail(client.getEmail());
updateClientForm.setHobby(client.getHobby());
updateClientForm.setClientNo(client.getClientNo());
updateClientForm.setCreateDate(client.getCreatedDate());
request.setAttribute("updateClientForm", updateClientForm);
System.out.println(client.getClientName());
return mapping.findForward("searchClientSuccess");
}else if(clientList!=null){
request.setAttribute("clientList",clientList);
return mapping.findForward("searchAllClientSuccess");
}else{
request.setAttribute("errors","没有查找到客户");
return mapping.findForward("errors");
}
}
}
<html:form action="updateClient.do" method="post" enctype="multipart/form-data">
应该是
<html:form action="updateClient.do" method="post">下面的用来更新的Action上面的页面就是用它来处理的
但是根本就没进到这个类的方法里来package com.fund.struts.action;import java.util.Date;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;import com.fund.manager.ClientManager;
import com.fund.struts.form.UpdateClientForm;
import com.fund.to.Client;/**
* MyEclipse Struts
* Creation date: 06-02-2007
*
* XDoclet definition:
* @struts.action path="/updateClient" name="updateClientForm" input="/page/client/searchOneClient.jsp" scope="request" validate="true"
*/
public class UpdateClientAction extends Action {
/*
* Generated Methods
*/ /**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
System.out.println("---------");
UpdateClientForm updateClientForm = (UpdateClientForm) form;// TODO Auto-generated method stub
String clientName = updateClientForm.getClientName();
String idCardNo = updateClientForm.getIdCardNo();
String sex = updateClientForm.getSex();
String phone = updateClientForm.getPhone();
String address = updateClientForm.getAddress();
String email = updateClientForm.getEmail();
String hobby = updateClientForm.getHobby();
Date createdDate = updateClientForm.getCreateDate();
Integer clientNo = updateClientForm.getClientNo();
Client client = null;
client = ClientManager.getInstance().findByIDCard(idCardNo);
if(client==null){
client = new Client();
client.setClientName(clientName);
client.setIdCardNo(idCardNo);
client.setSex(sex);
client.setPhone(phone);
client.setAddress(address);
client.setEmail(email);
client.setHobby(hobby);
client.setCreatedDate(createdDate); ClientManager.getInstance().updateClient(client, clientNo);
return mapping.findForward("updateClientSuccess");
}else{
request.setAttribute("errors","身份证有重复");
return mapping.findForward("errors");
}
}
}
类型不匹配在你点update时,要先把页面表单装到form里吧,这时候出的错javax.servlet.ServletException: BeanUtils.populate
发布bean的错误