Не удается найти ActionMappings или коллекцию ActionFormBeans - PullRequest
0 голосов
/ 14 апреля 2011

Привет, парень, я новичок в Struts, когда запускаю программу в struss, я получил такую ​​ошибку ...

org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: Cannot find ActionMappings or ActionFormBeans collection
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:531)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:332)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

root cause

javax.servlet.ServletException: javax.servlet.jsp.JspException: Cannot find ActionMappings or ActionFormBeans collection
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:901)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:830)
    org.apache.jsp.insert_jsp._jspService(insert_jsp.java:83)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:68)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:332)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

root cause

javax.servlet.jsp.JspException: Cannot find ActionMappings or ActionFormBeans collection
    org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:798)
    org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:506)
    org.apache.jsp.insert_jsp._jspx_meth_html_005fform_005f0(insert_jsp.java:136)
    org.apache.jsp.insert_jsp._jspx_meth_html_005fhtml_005f0(insert_jsp.java:106)
    org.apache.jsp.insert_jsp._jspService(insert_jsp.java:73)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:68)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:332)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

мой код похож на это ......

web.xml

<web-app>
    <servlet>
        <servlet-name>one</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>one</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
</web-app>

распорка-config.xml

<struts-config>
    <form-beans>
        <form-bean name="insertForm" type="com.cac.struts.InsertForm">
    </form-beans>
    <action-mappings>
        <action path="/insert" type="com.cac.struts.InsertAction" name="insertForm">
            <forward name="success" path="/success.jsp">
            <forward name="failure" path="/failure.jsp">
        </action>
    </action-mappings>
</struts-config>

Привет, парень, я новичок в Struts, когда запускаю программу в struss, я получил такую ​​ошибку ...

org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: Cannot find ActionMappings or ActionFormBeans collection
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:531)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:332)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

первопричина

javax.servlet.ServletException: javax.servlet.jsp.JspException: Cannot find ActionMappings or ActionFormBeans collection
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:901)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:830)
    org.apache.jsp.insert_jsp._jspService(insert_jsp.java:83)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:68)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:332)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

первопричина

javax.servlet.jsp.JspException: Cannot find ActionMappings or ActionFormBeans collection
    org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:798)
    org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:506)
    org.apache.jsp.insert_jsp._jspx_meth_html_005fform_005f0(insert_jsp.java:136)
    org.apache.jsp.insert_jsp._jspx_meth_html_005fhtml_005f0(insert_jsp.java:106)
    org.apache.jsp.insert_jsp._jspService(insert_jsp.java:73)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:68)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:332)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

мой код похож на это ......

InsertModel.java

package com.cac.struts;
import java.sql.*;
public class InsertModel
{
    public boolean insert(String name,String branch,int regd)
    {
        boolean b=false;
        try
        {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con=DriverManager.getConnection("jdbc:odbc:mohit","system","rock");
            PreparedStatement ps=con.prepareStatement("insert into emp values(?,?,?)");
            ps.setString(1,name);
            ps.setString(2,branch);
            ps.setInt(3,regd);
            int k=ps.executeUpdate();
            if(k>0)
                b=true;
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        return b;
    }
}

InsertForm.java

package com.cac.struts;
import org.apache.struts.action.ActionForm;
public class InsertForm extends ActionForm
{
    private int regd;
    private String name;
    private String branch;
    public void setRegd(int r)
    {
        regd=r;
    }
    public int getRegd()
    {
        return regd;
    }
    public void setName(String name)
    {
        this.name=name;
    }
    public String getName()
    {
        return name;
    }
    public void setBranch(String branch)
    {
        this.branch=branch;
    }
    public String getBranch()
    {
        return branch;
    }
}

InsertAction.java

package com.cac.struts;
import org.apache.struts.action.*;
import javax.servlet.http.*;
public class InsertAction extends Action
{
    public ActionForward execute(ActionMapping am,ActionForm af,HttpServletRequest hreq,HttpServletResponse hres) throws Exception
    {
        String key="failure";
        InsertForm iif=(InsertForm)af;
        int regd=iif.getRegd();
        String name=iif.getName();
        String branch=iif.getBranch();
        InsertModel im=new InsertModel();
        boolean b=im.insert(name,branch,regd);
        if(b)
        {
            key="success";
        }
        ActionForward af1=am.findForward(key);
        return af1;
    }
}

web.xml

<web-app>
    <servlet>
        <servlet-name>one</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>one</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
</web-app>

распорка-config.html

<struts-config>
    <form-beans>
        <form-bean name="insertForm" type="com.cac.struts.InsertForm">
    </form-beans>
    <action-mappings>
        <action path="/insert" type="com.cac.struts.InsertAction" name="insertForm">
            <forward name="success" path="/success.jsp">
            <forward name="failure" path="/failure.jsp">
        </action>
    </action-mappings>
</struts-config>

insert.jsp

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<html:html>
    <body bgcolor="yellow">
    <center>
        <h1>Student Application</h1>
        <html:form action="insert" method="post">
            regd<html:text property="regd"/><br><br>
            name<html:text property="name"/><br><br>
            branch<html:text property="branch"/><br><br>
        <html:submit>insert</html:submit>
        </html:form>
    </center>
    </body>
</html:html>

кроме того, я также использую все jar-файлы в lib и struts-html.tld. Пожалуйста ... Пожалуйста, помогите мне ... !!

Ответы [ 5 ]

1 голос
/ 04 апреля 2012

Добавление jar commons-beanutils к вашему classpath может решить проблему.

0 голосов
/ 27 июля 2014

Вы пропустили отображение в web.xml, должно быть так:

<web-app>
    <servlet>
        <servlet-name>one</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
            <param-name>config</param-name>
            <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>one</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
</web-app>

Также переименуйте struts-config.html в struts-config.xml.

0 голосов
/ 28 февраля 2014

Пожалуйста, убедитесь, что вы включили следующие jar в ваш проект

  1. antlr-2.7.6.jar
  2. commons-beanutils-1.7.0.jar
  3. commons-chain-1.2.jar
  4. commons-collection-3.1.jar
  5. commons-digester-2.0.jar
  6. commons-fileupload-1.2.2.jar
  7. commons-io-2.0.1.jar
  8. commons-lang-2.5.jar
  9. commons-logging-1.1.1.jar
  10. commons-logging-api-1.1.jar
  11. commons-validator-1.3.1.jar
  12. dom4j-1.6.1.jar
  13. hibernate-jpa-2.0-api-1.0.1.Final.jar
  14. hibernate3.jar
  15. javassist-3.12.0.GA.jar
  16. jstl-api-1.2.jar
  17. jstl-impl-1.2.jar
  18. jta-1.1.jar
  19. mysql-connector-java-5.1.17-bin.jar
  20. ognl-3.0.1.jar
  21. slf4j-api-1.6.1.jar
  22. slf4j-log4j12-1.6.2.jar
  23. spring-beans-2.5.6.jar
  24. spring-context-2.5.6.jar
  25. spring-core-2.5.6.jar
  26. spring-test-2.5.6.jar
  27. spring-web-2.5.6.jar
  28. struts2-core-2.2.3.1.jar
  29. xwork-core-2.2.3.1.jar

Если проблема не решена, загрузите следующий пример проекта из кода Google

http://struts -workspace-setup.googlecode.com / svn / trunk /

0 голосов
/ 25 ноября 2013

Возможно, вы сначала сделали записи в web.xml, а затем добавили необходимые файлы jar, особенно commons-beanutils.jar.Просто удалите содержимое файла web.xml и перепишите его.

0 голосов
/ 14 апреля 2011

вы не добавили ввод в отображение действий ..in Struts-config.xml input = "/ insert.jsp"

попробуйте это

< action path="/insert" type="com.cac.struts.InsertAction" 
        name="insertForm" scope="request" validate="false" input="/insert.jsp">

ОК

...