On 2017-04-28 04:33 (-0400), Lukasz Lenart <lukaszlen...@apache.org> wrote: > 2017-04-27 13:56 GMT+02:00 Ralph Grove <ralph.gr...@gmail.com>: > > Matt, did this solve your problem? I'm having the same issue with > > namespaces. With this example, I can request ".../Home", ".../Home/Alpha", > > ".../Alpha/Alpha/Alpha", etc. The action executes in each case, but if > > the URL contains more than one slash, the relative path is messed up for > > files included in the JSP. > > > > Ralph Grove > > > > <!DOCTYPE struts PUBLIC > > "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" > > "http://struts.apache.org/dtds/struts-2.0.dtd"> > > <struts> > > > > <constant name="struts.mapper.alwaysSelectFullNamespace" value="true" /> > > <constant name="struts.enable.SlashesInActionNames" value="false" /> > > > > <package name="main" extends="struts-default"> > > <default-action-ref name="NotFound"/> > > > > <global-results> > > <result name="error">/error.jsp</result> > > </global-results> > > > > <global-exception-mappings> > > <exception-mapping exception="java.lang.Exception" > > result="error"/> > > </global-exception-mappings> > > > > <action name="NotFound"> > > <result>/error.jsp</result> > > </action> > > > > <!-- Sidebar menu item and static link actions --> > > <action name="Home" class="com.opensymphony.xwork2.ActionSupport"> > > <result>/WEB-INF/jsp/index.jsp</result> > > </action> > > <action name="Alpha" class="com.opensymphony.xwork2.ActionSupport"> > > <result>/WEB-INF/jsp/alpha.jsp</result> > > </action> > > <action name="Beta" class="com.opensymphony.xwork2.ActionSupport"> > > <result>/WEB-INF/jsp/beta.jsp</result> > > </action> > > > > > > <!-- Actions --> > > <action name="AnAction" class="action.AnAction"> > > <result name="success">/WEB-INF/jsp/index.jsp</result> > > <result name="input">/WEB-INF/jsp/beta.jsp</result> > > </action> > > > > </package> > > </struts> > > I assume you don't use the Convention plugin also what version do you use? > > > Regards > -- > Åukasz > + 48 606 323 122 http://www.lenart.org.pl/ >
Actually, your solution did work - I just forgot to define the root namespace. Here's my corrected struts.xml, which does treat extended URL's (e.g., .../Alpha/Alpha) as errors. I'm using version 2.5.10.1 of the core library. Ralph <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.mapper.alwaysSelectFullNamespace" value="true" /> <constant name="struts.enable.SlashesInActionNames" value="false" /> <package name="default" extends="struts-default"> <default-action-ref name="NotFound"/> <global-results> <result name="error">/error.jsp</result> </global-results> <global-exception-mappings> <exception-mapping exception="java.lang.Exception" result="error"/> </global-exception-mappings> <action name="NotFound"> <result type="redirect">/error.jsp</result> </action> </package> <package name="root" extends="struts-default" namespace="/"> <!-- Sidebar menu item and static link actions --> <action name="Home" class="com.opensymphony.xwork2.ActionSupport"> <result>/WEB-INF/jsp/index.jsp</result> </action> <action name="Alpha" class="com.opensymphony.xwork2.ActionSupport"> <result>/WEB-INF/jsp/alpha.jsp</result> </action> <action name="Beta" class="com.opensymphony.xwork2.ActionSupport"> <result>/WEB-INF/jsp/beta.jsp</result> </action> <!-- Actions --> <action name="AnAction" class="action.AnAction"> <result name="success">/WEB-INF/jsp/index.jsp</result> <result name="input">/WEB-INF/jsp/beta.jsp</result> </action> </package> </struts> --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org