Struts Tiles应用程序

Struts Tiles应用程序,struts,tiles,struts-config,struts-html,Struts,Tiles,Struts Config,Struts Html,我正在尝试一个tiles应用程序。下面是我的代码 tiles-defs.xml </tiles-definitions> <definition name="${YOUR_DEFINITION_HERE}"> </definition> <definition name="commonPage" path="/jsps/template.jsp"> <put name=

我正在尝试一个tiles应用程序。下面是我的代码

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>

struts-config.xml

  • AboutAction.java 包java.com.mindbest.core.action; 导入javax.servlet.http.HttpServletRequest; 导入javax.servlet.http.HttpServletResponse; 导入org.apache.struts.action.ActionForm; 导入org.apache.struts.action.ActionForward; 导入org.apache.struts.action.ActionMapping; 导入org.apache.struts.actions.DispatchAction; 公开类AboutAction扩展了DispatchAction { 公共ActionForward关于页面(ActionMapping映射、ActionForm表单、, HttpServletRequest请求、HttpServletResponse响应)引发异常 { 返回映射。findForward(“成功”); } }
    aboutUsBody.jsp 你好


    在我上面的代码中,如果我尝试使用(domainname)/example/aboutus访问应用程序,请执行它的giving 500错误。有人能帮我解决这个问题吗?

    错误消息显示:

    错误是无法创建路径/aboutus的操作实例 显示

    这意味着Struts不能实例化action类,action类在Struts-config.xml中配置为
    java.com.mbest.core.action.AboutUsAction
    。您的类名为
    java.com.mindbest.core.action.AboutUsAction
    。很明显,你会得到这个错误


    还要注意,java包是为JRE的核心类保留的。我甚至惊讶于您的编译器接受编译这样一个类,或者至少不发出任何警告。不要将类放在
    java.*
    包中。

    服务器端日志应该可以帮助您找到答案。Nope.HTTP状态500-无法创建path/aboutus的操作实例是错误显示我将收到此错误严重:请求的路径无效/jsps/action href无法调用操作类
       <%@ 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");
    
        }
    
    }