Hi Todd,

Thanks for sharing the sample code and with your idea ( of separating
struts xmls) I am able to include servlet based struts action in the same
web project. I really appreciate your help on this one..

I am trying to map all servlet endpoints with a certain url pattern, via
filter-mapping however I am encountering some issues around it.  I'll send
a note if I couldn't find a solution for the same. Reason I am trying to do
it is, I dont want other calls to my web-app to be intercepted by Struts (
if I do /*, I believe Struts will try to intercept those calls and I dont
want to have that happened.)

I am just throwing this idea over here, so as if you/Lukasz  have any
thoughts around this approach would be great to hear.

Again, thanks so much for your help on this issue.




*Thanks & Regards/ **सादर**,*
*Gaurav Daga*
*[email protected] <[email protected]> | +1.201.308.3242 | Web
Presence <http://goo.gl/lW0nh>  *
Do not follow where the path may lead. Go instead where there is no path
and leave a trail. - Harold R. McAlindon


On Sun, Feb 23, 2014 at 10:25 AM, Kofford, C. Todd <[email protected]> wrote:

> Yeah, below is a link to a simple example that we've been using for years.
> I originally started with the code from one of the struts 2 examples, but
> changed the business objects to be more interesting as well as other
> numerous changes. I just changed all the package names, so let me know if
> you have problems, and I'll try to help.
>
> https://dl.dropboxusercontent.com/u/25590011/struts2portlet.zip
>
> We have several struts 2 webapps that run this way in production
> (standalone webapp & portlet).
>
> Also, we use the struts tags all over the place, and specifically the
> <s:url../> tag. The cool thing about that tag is that it generates normal
> URLs for the standalone but portlet-specific URLs for the portlet.
>
> Todd Kofford
> Academic Services Development
> KU Information Technology
> [email protected]
> (785) 864-0327
>
> ________________________________________
> From: Gaurav Daga [[email protected]]
> Sent: Friday, February 21, 2014 12:07 PM
> To: Struts Developers List
> Subject: Re: Struts2 Portlet with Servlets
>
> Hi Todd,
>
> Thanks for your response. This sounds like, will do the work for me.  Do
> you have any sample/demo app which can demonstrate the whole configuration?
>  Also, how this configuration impacts behavior of Struts Tag library
> specifically tags like <s:url.../>.  If you can share your experience
> around it, please let me know.
>
> Regards.
>
>
> *Thanks & Regards/ **सादर**,*
> *Gaurav Daga*
> *[email protected] <[email protected]> | +1.201.308.3242 | Web
> Presence <http://goo.gl/lW0nh>  *
> Do not follow where the path may lead. Go instead where there is no path
> and leave a trail. - Harold R. McAlindon
>
>
> On Fri, Feb 21, 2014 at 9:26 AM, Kofford, C. Todd <[email protected]> wrote:
>
> > We've been running struts 2 apps as standalone and portlet using the same
> > code/war file for a long time. We do use the portlet plugin and include 2
> > different struts.xml configurations using different namespaces. For
> example
> > our struts.xml file includes each configuration using includes as
> follows:
> >
> > struts.xml
> > <struts>
> > ...
> >     <!-- Include the various configurations -->
> >     <include file="struts-standalone.xml"/>
> >     <include file="struts-portlet.xml"/>
> >
> > struts-standalone.xml
> > <struts>
> > ...
> >     <!-- Configuration for the standalone package. -->
> >     <package name="default" extends="struts-default" namespace="/sa">
> >
> > struts-portlet.xml (this one includes a reference to the
> > portletDefaultStack inteceptor)
> > <struts>
> > ...
> >     <!-- Configuration for the portlet package. -->
> >     <package name="portlet-default" extends="struts-portlet-default"
> > namespace="/portlet">
> >
> > This all works fine and has a lot of advantages. The portlet plugin has
> > never caused any issues with our standalone webapp either.
> >
> > If you need more information on how we do this, I'd be happy to share
> > details.
> >
> > Todd Kofford
> > Academic Services Development
> > KU Information Technology
> > [email protected]
> > (785) 864-0327
> >
> > ________________________________________
> > From: Lukasz Lenart [[email protected]]
> > Sent: Friday, February 21, 2014 1:53 AM
> > To: Struts Developers List
> > Subject: Re: Struts2 Portlet with Servlets
> >
> > As I understand at the same time you want to have the same web app
> > exposed as portlet and as as a normal Struts2 app? It isn't possible
> > to do in one Struts 2 app as attaching The Struts Portlet Plugin
> > enables portlet integration for the whole app and some internals are
> > changed (eg. how urls are rendered). You can use the same action in
> > portlet and non-portlet app but not at the same time - you must remove
> > portlet plugin to use it in non-portlet environment.
> >
> > 2014-02-20 20:24 GMT+01:00 Gaurav Daga <[email protected]>:
> > > And I did follow the tutorial and that's how I got upto the speed with
> > > Struts2.  Also I didn't mention earlier, <s:url..> treats my Servlet
> > Action
> > > class as Portlet Action class and generates URL specific to it.
> > >
> > > I appreciate your help on this Lukasz.
> > >
> > >
> > > *Thanks & Regards/ **सादर**,*
> > > *Gaurav Daga*
> > > *[email protected] <[email protected]> | +1.201.308.3242 |
> Web
> > > Presence <http://goo.gl/lW0nh>  *
> > > Do not follow where the path may lead. Go instead where there is no
> path
> > > and leave a trail. - Harold R. McAlindon
> > >
> > >
> > > On Thu, Feb 20, 2014 at 11:20 AM, Gaurav Daga <[email protected]
> > >wrote:
> > >
> > >> I used Struts2 filter, and here is web.xml for the same :
> > >>           <filter>
> > >>  <filter-name>struts2</filter-name>
> > >> <filter-class>
> > >>
> > >> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
> > >>                 </filter-class>
> > >>  </filter>
> > >>
> > >>  <filter-mapping>
> > >> <filter-name>struts2</filter-name>
> > >>  <url-pattern>/servlet/*</url-pattern>
> > >> </filter-mapping>
> > >>
> > >>
> > >> *Thanks & Regards/ **सादर**,*
> > >> *Gaurav Daga*
> > >> *[email protected] <[email protected]> | +1.201.308.3242
> > >> <%2B1.201.308.3242> | Web Presence <http://goo.gl/lW0nh>  *
> > >> Do not follow where the path may lead. Go instead where there is no
> path
> > >> and leave a trail. - Harold R. McAlindon
> > >>
> > >>
> > >> On Thu, Feb 20, 2014 at 10:38 AM, Lukasz Lenart <
> > [email protected]>wrote:
> > >>
> > >>> You didn't provide your web.xml, have you tried follow the tutorial?
> > >>>
> > >>>
> >
> http://struts.apache.org/release/2.3.x/docs/struts-2-portlet-tutorial.html
> > >>>
> > >>>
> > >>> 2014-02-20 19:31 GMT+01:00 Gaurav Daga <[email protected]>:
> > >>> > 1. CaseTaskPortlet is a portlets action class.
> > >>> > 2. caseTasks is servlet based action class.
> > >>> >
> > >>> > Problem I am having is, if I use <s:url....> tag to generate
> endpoint
> > >>> for
> > >>> > my Servlet based action class, it doesn't work.  And I tried
> > accessing
> > >>> it
> > >>> > from browser by constructing a URL manually, it doesn't invoke my
> > >>> action.
> > >>> >
> > >>> > Looking at the below configuration, if you can suggest me like what
> > >>> should
> > >>> > be my URL to hit the displaySomeMessage() method inside
> > CaseTasksAction
> > >>> > action class?
> > >>> >
> > >>> >
> > >>> > Below here is struts xml, I am having:
> > >>> >
> > >>> >
> > >>> > <?xml version="1.0" encoding="UTF-8" ?>
> > >>> > <!DOCTYPE struts PUBLIC
> > >>> > "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
> > >>> > "http://struts.apache.org/dtds/struts-2.3.dtd";>
> > >>> > <struts>
> > >>> > <constant name="struts.devMode" value="true" />
> > >>> > <package name="amps-base-package" extends="struts-portlet-default">
> > >>> > <interceptors>
> > >>> > <interceptor name="EJBInjectionInterceptor"
> > >>> >
> > >>>
> >
> class="gov.nv.dwss.amps.presentation.struts.interceptors.EJBInjectionInterceptor"
> > >>> > />
> > >>> > <interceptor-stack name="baseStack">
> > >>> > <interceptor-ref name="defaultStack" />
> > >>> > <interceptor-ref name="EJBInjectionInterceptor" />
> > >>> > </interceptor-stack>
> > >>> > </interceptors>
> > >>> > <default-interceptor-ref name="baseStack" />
> > >>> > </package>
> > >>> >  <constant name="struts.custom.i18n.resources"
> > >>> >
> > >>>
> >
> value="gov.nv.dwss.framework.resourebundle.DplyTxtResourceBundle,gov.nv.dwss.framework.resourebundle.ValidationMessageResourceBundle"
> > >>> > />
> > >>> >
> > >>> > <package name="view" extends="amps-base-package"
> > >>> > namespace="/CaseTaskPortlet/view">
> > >>> > <action name="HomeCaseTaskAction.*" method="{1}"
> > >>> >
> > >>>
> > class="gov.nv.dwss.amps.casetask.presentation.action.HomeCaseTaskAction">
> > >>> > <result name="home">/jsp/casetask/home.jsp</result>
> > >>> > <result name="search">/jsp/casetask/search.jsp</result>
> > >>> > <result
> name="expeditedSNAP">/jsp/casetask/expeditedSNAP.jsp</result>
> > >>> > <result name="applications">/jsp/casetask/applications.jsp</result>
> > >>> > <result name="changes">/jsp/casetask/changes.jsp</result>
> > >>> > <result name="RDRCERTHOME">/jsp/casetask/rdrcert.jsp</result>
> > >>> > <result name="mytasks">/jsp/casetask/mytasks.jsp</result>
> > >>> >  </action>
> > >>> > </package>
> > >>> >  <package name="caseTasks" namespace="/caseTasks"
> > >>> extends="struts-default">
> > >>> >  <action name="CaseTasksAction"
> > >>> >
> >  class="gov.nv.dwss.amps.casetask.presentation.action.CaseTasksAction">
> > >>> > <result name="servletHome">/jsp/casetask/test.jsp</result>
> > >>> > </action>
> > >>> > </package>
> > >>> > </struts>
> > >>> >
> > >>> >
> > >>> > *Thanks & Regards/ **सादर**,*
> > >>> > *Gaurav Daga*
> > >>> > *[email protected] <[email protected]> | +1.201.308.3242|
> > >>> Web
> > >>> > Presence <http://goo.gl/lW0nh>  *
> > >>> > Do not follow where the path may lead. Go instead where there is no
> > path
> > >>> > and leave a trail. - Harold R. McAlindon
> > >>> >
> > >>> >
> > >>> > On Wed, Feb 19, 2014 at 10:07 PM, Lukasz Lenart <
> > >>> [email protected]>wrote:
> > >>> >
> > >>> >> But in struts.xml you can define actions - no reference to
> servlets
> > >>> >> neither portlets. Do you have any error message?
> > >>> >>
> > >>> >> 2014-02-20 2:41 GMT+01:00 Gaurav Daga <[email protected]>:
> > >>> >> > Hello Struts2 Group,
> > >>> >> >
> > >>> >> > I have a requirement where I want to have Servlet Action
> > Endpoint, as
> > >>> >> well
> > >>> >> > as Portlet Actions in the same WAR file. I tried configuring the
> > >>> >> > struts.xml, for the both package but Struts continued to give me
> > >>> error
> > >>> >> > while resolving Servlet Action Endpoint.
> > >>> >> >
> > >>> >> > I just wanted to know if anyone has tries anything similar to
> this
> > >>> before
> > >>> >> > and whether it is supported or not.  If you can throw me some
> > >>> pointers,
> > >>> >> > would be great help!
> > >>> >> >
> > >>> >> >
> > >>> >> > Thanks.
> > >>> >> > Gaurav Daga
> > >>> >>
> > >>> >>
> > ---------------------------------------------------------------------
> > >>> >> To unsubscribe, e-mail: [email protected]
> > >>> >> For additional commands, e-mail: [email protected]
> > >>> >>
> > >>> >>
> > >>>
> > >>> ---------------------------------------------------------------------
> > >>> To unsubscribe, e-mail: [email protected]
> > >>> For additional commands, e-mail: [email protected]
> > >>>
> > >>>
> > >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
> >
> >
> >
>

Reply via email to