2014-02-23 53 views
1

我想要搜索JSP表單中的數據在數據庫中,而在另一個JSP文件顯示它...java.lang.ClassCastException:org.apache.struts.validator.DynaValidatorForm無法施展

javax.servlet.ServletException: java.lang.ClassCastException: org.apache.struts.validator.DynaValidatorForm cannot be cast to org.mat.search.SearchFB 
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286) 
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) 
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 

SearchFB.java

import org.apache.struts.validator.DynaValidatorForm; 

public class SearchFB extends DynaValidatorForm { 

private String userName; 
private String caste[]; 
private String qualification[]; 
private Integer age; 
public String getUserName() { 
    return userName; 
} 
public void setUserName(String userName) { 
    this.userName = userName; 
} 
    . 
    . 

SearchAction.java

public ActionForward execute(ActionMapping mapping, ActionForm form, 
     HttpServletRequest request, HttpServletResponse response) { 

    SearchFB sfb = (SearchFB) form; 
    Formdata fd = new Formdata(); 
    fd.setUserName((String) sfb.get("userName")); 
    fd.setAge((Integer) sfb.get("age")); 
    fd.setQualification((String)sfb.get("qualification")); 
    fd.setCaste((String) sfb.get("caste")); 

    SearchDTO sdto = new SearchDTO(); 
    SearchJB sjb = new SearchJB(); 
    sjb.searchProduct(sdto); 
    return mapping.findForward("ssuccess"); 
} 
} 

Formdata.java

public Formdata extends ActionForm{   
private String userName; 
private String qualification; 
private Integer age; 
private String caste; 


public String getUserName() { 
    return userName; 
} 
public void setUserName(String userName) { 
    this.userName = userName; 
} 
    setters and getters... 

回答

0

如果使用DynaValidatorForm那麼就應該轉換爲Struts提供的操作形式。例如

DynaValidatorForm sfb = (DynaValidatorForm) form; 

這將解決您的類轉換異常,但你作爲參數傳遞到其他層的情況下,不被初始化,所以行動本身是可疑的。

相關問題