Domanda

Am trying a tiles application.Below is my code

tiles-defs.xml

</tiles-definitions>
        <definition name="${YOUR_DEFINITION_HERE}">
        </definition>

        <definition name="commonPage" path="/jsps/template.jsp">
            <put name="header" value="/jsps/header.jsp" />
            <put name="menu"   value="/jsps/menu.jsp" />
            <put name="body"   value="/jsps/homebody.jsp" />
            <put name="footer"  value="/jsps/footer.jsp" />
        </definition>

           <definition name="aboutUsPage" extends="commonPage">
            <put name="body" value="/jsps/aboutUsBody.jsp" />
        </definition>

    </tiles-definitions>


struts-config.xml           

  <action path="/aboutus"
        type="java.com.mbest.core.action.AboutUsAction"
        parameter="method">
        <forward name="success" path="aboutUsPage"/>        
        <forward name="failure" path="aboutUsPage"/>            
        </action>


</action-mappings>


template.jsp
    <%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
    <html>
    <head><title></title></head>
    <body>
    <table border="1"  cellspacing="0" cellpadding="0" style="width: 98%; height: 100%">
    <tr>
        <td colspan="2">
            <tiles:insert attribute="header"/>
        </td>
    </tr>
    <tr style="height: 500px">
        <td valign="top" style="width: 200px">
            <tiles:insert attribute="menu"/>
        </td>
        <td valign="baseline" align="left">
            <tiles:insert attribute="body"/> 
    </tr>
    <tr>
        <td colspan="2">
            <tiles:insert attribute="footer"/> 
        </td>
    </tr>
    </table>
    </body>
    </html>

homebody.jsp

   <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
    <%@taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
    <html>
    <head>
    <title></title>
    <style type="text/css">
    <%@include file="../css/helper.css"%>
    <%@include file="../css/dropdown.css" %>
    <%@include file="../css/default.ultimate.css" %>
    </style>
    </head>
    <body>
    <div id="header">
    <ul id="nav" class="dropdown dropdown-horizontal">
        <li><span class="dir"><html:link page="/aboutus.do?method=aboutUsPage" >About Us</html:link></span></li>
        <li><span class="dir"><a href="./">Products</a></span></li>
        <li><span class="dir"><a href="./">Infrastructure</a></span></li>
        <li><span class="dir"><a href="./">Pharmaceutical Formulations</a></span></li>
        <li><span class="dir"><a href="./">Contact Us</a></span></li>
    </ul>
    </div>
    </body>
    </html>

AboutUsAction.java
package java.com.mindbest.core.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;

public class AboutUsAction extends DispatchAction
{
    public ActionForward aboutUsPage(ActionMapping mapping,ActionForm form,
                                HttpServletRequest request,HttpServletResponse response)throws Exception
    {
        return mapping.findForward("success");

    }

}

aboutUsBody.jsp hello

In my above code if i try to access the app using (domainname)/example/aboutus.do its giving 500 error.Can anyone help me figure this out?

È stato utile?

Soluzione

The error message says:

No action instance for path /aboutus could be created is the error shown

This means that Struts can't instanciate your action class, which is configured, in struts-config.xml, as java.com.mbest.core.action.AboutUsAction. Your class is named java.com.mindbest.core.action.AboutUsAction. So obviously, you get this error.

Also note that the java package is reserved fro core classes of the JRE. I'm even surprised your compiler accepts to compile such a class, or at least doesn't emit any warning. Don't put your classes in a java.** package.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top