How to share tiles while using both struts 1 and struts 2 during migration?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

How to share tiles while using both struts 1 and struts 2 during migration?

ss2644@cornell.edu
Hello,

I have a struts app which uses both struts 1 and struts 2. While we are migrating slowly and trying to remove all struts 1 stuff, we want to share tiles during the migration process across both s1 and s2. While there is enough documentation demonstrating how to use various versions of plug-ins and tiles library with either s1 or s2, I couldn't find an example that explains how to configure and use various plug-ins simultaneously during migration.

 Currently I have the following tiles related config in the web.xml. I use both the struts 1 filter and struts 2 listener. I always get 404 errors when I use the same tile def from struts 2.

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  version="3.0">

<context-param>
   <param-name>
      org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG
   </param-name>
   <param-value>
      /WEB-INF/tiles-defs-.xml
   </param-value>
   </context-param>
   
  <filter>
    <filter-name>Tiles Filter</filter-name>
    <filter-class>org.apache.tiles.web.startup.TilesFilter</filter-class>
    <async-supported>true</async-supported>
  </filter>

  <filter-mapping>
    <filter-name>Tiles Filter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST,FORWARD,ASYNC</dispatcher>
  </filter-mapping>

   <listener>
   <listener-class>
      org.apache.struts2.tiles.StrutsTilesListener
   </listener-class>
   </listener>

Please let me know how to configure correctly so that I can use both s1 and s2 during migration so that we can test functionality as we migrate each module.

Thanks,
Sai.

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: How to share tiles while using both struts 1 and struts 2 during migration?

Lukasz Lenart
2017-10-03 20:31 GMT+02:00 [hidden email] <[hidden email]>:

> Hello,
>
> I have a struts app which uses both struts 1 and struts 2. While we are migrating slowly and trying to remove all struts 1 stuff, we want to share tiles during the migration process across both s1 and s2. While there is enough documentation demonstrating how to use various versions of plug-ins and tiles library with either s1 or s2, I couldn't find an example that explains how to configure and use various plug-ins simultaneously during migration.
>
>  Currently I have the following tiles related config in the web.xml. I use both the struts 1 filter and struts 2 listener. I always get 404 errors when I use the same tile def from struts 2.
>
> <?xml version="1.0" encoding="UTF-8"?>
> <web-app xmlns="http://java.sun.com/xml/ns/javaee"
>   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>                       http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
>   version="3.0">
>
> <context-param>
>    <param-name>
>       org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG
>    </param-name>
>    <param-value>
>       /WEB-INF/tiles-defs-.xml
>    </param-value>
>    </context-param>
>
>   <filter>
>     <filter-name>Tiles Filter</filter-name>
>     <filter-class>org.apache.tiles.web.startup.TilesFilter</filter-class>
>     <async-supported>true</async-supported>
>   </filter>
>
>   <filter-mapping>
>     <filter-name>Tiles Filter</filter-name>
>     <url-pattern>/*</url-pattern>
>     <dispatcher>REQUEST,FORWARD,ASYNC</dispatcher>
>   </filter-mapping>
>
>    <listener>
>    <listener-class>
>       org.apache.struts2.tiles.StrutsTilesListener
>    </listener-class>
>    </listener>
>
> Please let me know how to configure correctly so that I can use both s1 and s2 during migration so that we can test functionality as we migrate each module.

This is not possible as far I know, both Struts versions using
different Tiles versions - Struts 1 is using an embedded version of
Tiles 1 whereas Struts 2 standalone version of Tiles 2 or 3. You must
use different DTDs to support both which is not possible using a one
XML config. Also Struts 1 tags are not compatible with Struts 2 tags,
you cannot mix them in a one JSP file.


Regards
--
Łukasz
+ 48 606 323 122 http://www.lenart.org.pl/

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: How to share tiles while using both struts 1 and struts 2 during migration?

ss2644@cornell.edu


On 2017-10-04 05:04, Lukasz Lenart <[hidden email]> wrote:

> 2017-10-03 20:31 GMT+02:00 [hidden email] <[hidden email]>:
> > Hello,
> >
> > I have a struts app which uses both struts 1 and struts 2. While we are migrating slowly and trying to remove all struts 1 stuff, we want to share tiles during the migration process across both s1 and s2. While there is enough documentation demonstrating how to use various versions of plug-ins and tiles library with either s1 or s2, I couldn't find an example that explains how to configure and use various plug-ins simultaneously during migration.
> >
> >  Currently I have the following tiles related config in the web.xml. I use both the struts 1 filter and struts 2 listener. I always get 404 errors when I use the same tile def from struts 2.
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <web-app xmlns="http://java.sun.com/xml/ns/javaee"
> >   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> >   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
> >                       http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
> >   version="3.0">
> >
> > <context-param>
> >    <param-name>
> >       org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG
> >    </param-name>
> >    <param-value>
> >       /WEB-INF/tiles-defs-.xml
> >    </param-value>
> >    </context-param>
> >
> >   <filter>
> >     <filter-name>Tiles Filter</filter-name>
> >     <filter-class>org.apache.tiles.web.startup.TilesFilter</filter-class>
> >     <async-supported>true</async-supported>
> >   </filter>
> >
> >   <filter-mapping>
> >     <filter-name>Tiles Filter</filter-name>
> >     <url-pattern>/*</url-pattern>
> >     <dispatcher>REQUEST,FORWARD,ASYNC</dispatcher>
> >   </filter-mapping>
> >
> >    <listener>
> >    <listener-class>
> >       org.apache.struts2.tiles.StrutsTilesListener
> >    </listener-class>
> >    </listener>
> >
> > Please let me know how to configure correctly so that I can use both s1 and s2 during migration so that we can test functionality as we migrate each module.
>
> This is not possible as far I know, both Struts versions using
> different Tiles versions - Struts 1 is using an embedded version of
> Tiles 1 whereas Struts 2 standalone version of Tiles 2 or 3. You must
> use different DTDs to support both which is not possible using a one
> XML config. Also Struts 1 tags are not compatible with Struts 2 tags,
> you cannot mix them in a one JSP file.
>
>
> Regards
> --
> Łukasz
> + 48 606 323 122 http://www.lenart.org.pl/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
> Thanks for confirming this.

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]