小弟,新学struts1,今天碰到这个问题:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
          "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
<data-sources />
<form-beans></form-beans>
<global-exceptions />
<global-forwards />
<action-mappings>
<action path="/login" forward="web.login"></action>
</action-mappings>
<message-resources parameter="com.huang.resources.ApplicationResources" />
<plug-in className="org.apache.struts.tiles.TilesPlugin" >
<set-property property="definitions-config" value="/WEB-INF/layout.xml" />
<set-property property="definitions-debug" value="2" />
<set-property property="definitions-parser-details" value="2" />
<set-property property="definitions-parser-validate" value="true" />
</plug-in>
</struts-config>  
还有layout.xml文件如下:<?xml version="1.0"  encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
       "-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"
       "http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
<tiles-definitions>
<!-- 登录页面模板 -->
<definition name="web.login" path="/login/index.jsp">
   <put name="logo" value="/global/logo.jsp" />
   <put name="data" value="/login/login.jsp"/>
   <put name="foot" value="/global/foot.jsp"/>
  </definition> 
</tiles-definitions>我访问http://localhost:9002/myns/login.do,报如下错误:
javax.servlet.ServletException: java.lang.IllegalArgumentException: Path netctoss.login does not start with a "/" character
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:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
我往那个forward当中最前没加入"/"还是报这个错。该怎么解决啊?请各位说详细些!再次感谢了

解决方案 »

  1.   

    我觉得你在配置的时候,少了一个action,配置如下:
    <action path="/goMain" type="org.apache.struts.actions.ForwardAction" parameter="showMain"></action>
      

  2.   

    你的<action>配置错了,type属性都没有,大概参考一下我的
    <struts-config>

    <form-beans>
    <form-bean name="loginForm" type="com.toby.struts.form.LoginForm" />
    <form-bean name="registForm" type="com.toby.struts.form.RegistForm"/>
    </form-beans>

    <global-forwards>
    <forward name="fail" path="/fail.jsp"></forward>
    </global-forwards>

    <action-mappings>
    <action path="/login"
    name="loginForm"
        scope="request"
        type="com.toby.struts.action.LoginAction"
            >
            <forward name="success" path="/success1.jsp"></forward>

    </action>
    <action path="/regist"
            name="registForm"
            scope="request"
            type="com.toby.struts.action.RegistAction"
            >
            <forward name="success" path="/success2.jsp"></forward>
            </action>

    </action-mappings>

    </struts-config>
      

  3.   

    我觉得你只是想实现各简单的跳转,那么采用ForwardAction就行了
    <action path=""
    type="org.apache.struts.actions.ForwardAction"
    parameter="xxx.jsp"
    />
      

  4.   

    action配错了
     <action path="/login" name="loginForm" type="*.LoginAction">
           <forward name="success" path="/success.jsp"/>
           <forward name="fail" path="/fail.jsp"/>
     </action>