jsp总是报如下错误:
org.apache.jasper.JasperException: Unable to compile class for JSP
An error occurred at line: 23 in the jsp file: /apic.jsp
Generated servlet error:
I:\struts\eclipse\workspace\apic\work\org\apache\jsp\apic_jsp.java:134: cannot resolve symbol
symbol  : class apicForm  
location: class org.apache.jsp.apic_jsp
            apicForm select = null;这里是我的jsp
<%@ page contentType="text/html;charset=GB2312"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%> 
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%> 
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ page import="com.apic.struts.form.*" %>
<html> 
  <head>
    <title></title>
  </head>
  <body>
    <html:form action="/apic" scope = "request">
      <table border>
        <logic:iterate id="select" name="select" property="select"
        type="apicForm"   indexId="index">
          <tr><th align="left">照&nbsp;&nbsp;&nbsp;&nbsp;片</th>
          <th align=left><html:file property="select"/></th>
        logic:iterate>
       </table>
   <input type="button" onclick="return sub()" align="middle" value="提交" />                       
    </html:form>
    <html:errors />
   <body>
</html>这里是xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>    
    <!-- ========== Data Source Configuration =============================== -->
    <data-sources />    
    <!-- ========== Form Bean Definitions ================================== -->
    <form-beans>
        <form-bean name="apicForm" type="com.apic.struts.form.ApicForm">
            <form-property name="select" type="java.util.ArrayList" />
        </form-bean>
    </form-beans>    
    <!-- ========== Global Exception Definitions ============================== -->
    <global-exceptions />  
    <!-- ========== Global Forward Definitions =============================== -->
    <global-forwards />   
    <!-- ========== Action Mapping Definitions =============================== -->
    <action-mappings>
        <action
            attribute="apicForm"
            input="/apic.jsp"
            name="apicForm"
            path="/apic"
            type="com.apic.struts.action.ApicAction"
            validate="true">
            <forward name="success" path="/success.jsp" />
        </action>
    </action-mappings>   
    <!-- ========== Controller Configuration ================================ -->
    <controller />   
    <!-- ========== Message Resources Definitions ============================ -->
    <message-resources parameter="com.apic.struts.ApplicationResources" />    
    <!-- ========== Plug Ins Configuration ================================= -->
</struts-config>
这里是actionpublic class ApicAction extends Action {
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
ApicForm apicForm = (ApicForm) form;
String pass = "success";
ApicService service = new ApicService();
service.addDate(apicForm);
ArrayList select = apicForm.getSelect();
request.setAttribute("select", select);
return (mapping.findForward(pass));
}
}
这是form
// Created by Xslt generator for Eclipse.
// XSL :  not found (java.io.FileNotFoundException:  (系统找不到指定的路径。))
// Default XSL used : easystruts.jar$org.easystruts.xslgen.JavaClass.xslpackage com.apic.struts.form;import java.io.File;
import java.util.ArrayList;import javax.servlet.http.HttpServletRequest;import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;/** 
 * ApicForm.java created by EasyStruts - XsltGen.
 * http://easystruts.sf.net
 * created on 08-06-2005
 * 
 * XDoclet definition:
 * @struts:form name="apicForm"
 */
public class ApicForm extends ActionForm {
/** select property */
private ArrayList select;
public ActionErrors validate(
ActionMapping mapping,
HttpServletRequest request) {
ActionErrors errors = new ActionErrors();
}if (select == null){
select = new ArrayList();
}
for(int i=0; i<select.size(); i++){
File photoFile=new File((String)select.get(i));
if (!(photoFile.isFile())) {
errors.add("select", new ActionError("error.select"));
return errors;
}
} System.out.println(errors.size());
return errors;
} /** 
 * Method reset
 * @param ActionMapping mapping
 * @param HttpServletRequest request
 */
public void reset(ActionMapping mapping, HttpServletRequest request) {
select = null;
}
/** 
 * Returns the select.
 * @return String
 */
public ArrayList getSelect() {
return select;
} /** 
 * Set the select.
 * @param select The select to set
 */
public void setSelect(ArrayList select) {
this.select = select;
}}
哪位高手能看看是怎么回事吗?

解决方案 »

  1.   

    你在jsp文件中把java.util.*这个包打进去试试看
      

  2.   

    没有用....只是logic:iteratey有问题...我把logic:iterate标签删了就好了...
      

  3.   

    这里有问题吧:
     <form-bean name="apicForm" type="com.apic.struts.form.ApicForm">
                <form-property name="select" type="java.util.ArrayList" />
            </form-bean>
    而你的
            <html:file property="select"/>与你的formbean中的select属性冲突而且类型又问题的