I think you can specify the inteceptor list at action level in struts.xml.
Cheers,
Josep
El 23 de abril de 2012 10:05, JOSE L MARTINEZ-AVIAL escribió:
> Hi,
> We are developing an web application that uses Struts2 + Tiles + JSP,
> plus Dojo for the UI. The application uses the JSON plugin, since we do a
> lot of interactions through AJAX calls using JSON. We are also building a
> thick client that will only uses JSON to communicate with the server. It
> will invocate Struts2 actions to retrieve information, and those actions
> will provide a JSON result with the information solicited. Some of those
> communications will download list of thinks (list of documents for the
> user, for example).
>
> The thing is that we want to avoid duplications of code, so in order to
> reuse those actions that produce JSON for the thick client, we are using
> those same actions to get the same information for the browser. We have
> made the pages compatible with that; the browser uses AJAX calls to call
> those actions and show the retrieved information. But that also implies a
> lot of HTTP connections to the server, which we would like to avoid.
>
> The way we have thought to avoid those extra communications is to use the
> tag on the JSP. That way the action is invoked inline from the
> presentation layer, and the information(the JSON returned by the action)
> incorporated on the JSP and sent to the browser, where the UI is created
> with Dojo and shown to the user.
>
> The only problem I see is that the list of interceptors is fully executed
> when calling those actions from the JSP. It makes sense, of course, but
> that also add a lot of overhead I woiuld like to avoid.
>
> Does anyone see some obviouse flaw on this design? Is there a better way
> to provide that JSON information without duplicating code and avoiding the
> overhead?
>
> Thanks
>