java.lang.IllegalArgumentException: argument type mismatch
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
NativeMethodAccessorImpl有这个类吗?如果有应该是这个类里面的方法有错把代码帖来看看吧

解决方案 »

  1.   

    查询客户的Action
    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");
    }
    }
    }
      

  2.   

    上面的代码有点错误
    <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");
    }

    }
    }
      

  3.   

    把这个searchResult.jsp 贴哈`
      

  4.   

    java.lang.IllegalArgumentException: argument type mismatch
    类型不匹配在你点update时,要先把页面表单装到form里吧,这时候出的错javax.servlet.ServletException: BeanUtils.populate
    发布bean的错误
      

  5.   

    的确是form里的类型不匹配的问题,日期类型错误了