struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Pratt <thechrispr...@gmail.com>
Subject Re: Actions as welcome files
Date Fri, 31 May 2013 19:16:07 GMT
In my experience most containers rely on the existence of the file
specified in the <welcome-files>, but don't directly use it.  Because of
this, if you define your welcome file as:

<welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

Then create a dummy (or even 0 byte length) index.jsp file, your container
will actually go through the normal process of filling the request, which
will allow Struts2 to do it's normal processing and return the requested
result.

I know it works well with Resin and other containers, but YMMV.
  (*Chris*)



On Fri, May 31, 2013 at 12:00 PM, Lukasz Lenart <lukaszlenart@apache.org>wrote:

> 2013/5/31 Antonio Sánchez <ingantosan@gmail.com>:
> > I have to move struts.xml (originally inside resources folder) inside
> maven
> > 'main' folder to make it work and avoid
> >
> >     HTTP 404 - There is no Action mapped for namespace [/] and action
> name
> > [] associated with context path [/Hello_World_Struts2_Mvn].
> >
> > but then struts.xml is unreachable in Netbeans project window.
>
> You shouldn't do that ... struts.xml must lay in resource folder (it
> will be copied to WEB-INF/classes during package phase)
>
>
> > I can't find the right way. I have updated libs to the latest ones.
> > struts.xml is in WEB-INF/classes in war file deployed by Netbeans (Tomcat
> > 7).
> >
> > Bellow struts and web xmls
> >
> > <struts>
> >     <!-- Include webwork default (from the Struts JAR). -->
> >     <include file="struts-default.xml"/>
>
> Struts2 include this file by default, you don't have to do this (it
> can even be source of unpredictable problems)
>
> >     <!-- Configuration for the default package. -->
> >     <package name="default" extends="struts-default">
> >
> >         <!-- Default interceptor stack. -->
> >         <default-interceptor-ref name="paramsPrepareParamsStack"/>
> >         <action name="index"
> > class="com.aurifa.struts2.tutorial.action.EmployeeAction" method="list">
> >             <result name="success">/WEB-INF/jsp/employees.jsp</result>
> >             <!-- we don't need the full stack here -->
> >             <interceptor-ref name="basicStack"/>
> >         </action>
> >         <action name="crud"
> > class="com.aurifa.struts2.tutorial.action.EmployeeAction" method="input">
> >             <result name="success" type="redirectAction">index</result>
> >             <result name="input">/WEB-INF/jsp/employeeForm.jsp</result>
> >             <result name="error">/WEB-INF/jsp/error.jsp</result>
> >         </action>
> >     </package>
> > </struts>
>
> You have two options here:
> - define action with blank name (I don't like it as this is some kind
> trick and not expected behaviour), ie.
>     <action name=""
> class="com.aurifa.struts2.tutorial.action.EmployeeAction"
> method="input">
> - define default-action-ref per package
>     <default-action-ref name="index/>
>
> <welcome-files/> will not work as most of the containers doesn't allow
> forwarding to non-static resources, you can try to define struts2
> filter as below to achieve that:
>
> <filter-mapping>
>         <filter-name>struts2</filter-name>
>         <url-pattern>/*</url-pattern>
>         <dispatcher>REQUEST</dispatcher>
>         <dispatcher>FORWARD</dispatcher>
>         <dispatcher>INCLUDE</dispatcher>
> </filter-mapping>
>
>
> Regards
> --
> Łukasz
> + 48 606 323 122 http://www.lenart.org.pl/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message