On 7/30/07 2:06 AM, "Grish" <[EMAIL PROTECTED]> wrote:

> 
> I tried taking a modified version of the Struts 2 + Spring 2 + JPA + AJAX
> tutorial that I've done and integrated it with Sitemesh.
> 
> I realized that if i have div tags with the ajax theme, Sitemesh will
> decorate that area so I will end up with and embedded decorator in the main
> page. I need to exclude my AJAX calls from being decorated. I understand
> that Sitemesh has a decorators.xml where you can specify which urls are not
> to be decorated:
> 
>   <!-- Any urls that are excluded will never be decorated by Sitemesh -->
>   <excludes>
>     <pattern>/styles/*</pattern>
>     <pattern>/scripts/*</pattern>
>     <pattern>/images/*</pattern>
>     <pattern>/ajax/*</pattern>
>     <pattern>/dojo/*</pattern>
>     <pattern>/struts/*</pattern>
>     <pattern>/nodecorate/*</pattern>
>   </excludes>
> 
> I first thought I simply had to move my jsps to a folder that was part of
> the sitemesh excludes, like the ajax folder or the nodecorate folder. I have
> a page called person.jsp and when I list the results of my search using ajax
> I use the personList.jsp. I moved the personList.jsp to an excluded folder
> but Sitemesh still decorated my personList.jsp.

The exclusion is based on the requested URL, not where the file is in your
project.

This is what I did. I have two action definitions,


<action name=createPO" class="CreatePOAction" />
<action name="createPOAjax" class="CreatePOAction" />


Requests to createPO.action should be decorated, calls to
createPOAjax.action shouldn't.


<excludes>
    <pattern>*Ajax.action*</pattern>
</excludes>

I'm not sure if the second * is necessary, but it works. I also use one
class with two action definitions. I have methods that handle the Ajax stuff
in the same class file so everything is nicely contained and I use the
method argument to the request to call the specific method I want.

Take care,
Mark


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to