You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Laurie Harper <la...@holoweb.net> on 2005/12/15 02:52:57 UTC
Re: jsp:includes or c:imports of action AND new tag for
in struts config
You might want to take a look at Tiles. It lets you solve exactly this
kind of page composition problem. It can do a lot more than just include
trailing content, too.
L.
David Evans wrote:
> I solved this problem, by using the source of the struts IncludeAction.
> I hijacked that code and did my List generation before the the
> RequestDispatcher formward call, so it looks like:
>
> Action snippet: ******************
> List menuItems = getMenuItemsList();
> req.setAttribute("menuitems", menuItems);
>
> RequestDispatcher rd =
> servlet.getServletContext().getRequestDispatcher("/WEB-INF/jsp/frontend/footer_include.jsp");
>
> // Forward control to the specified resource
> rd.include(req, res);
>
> // Tell the controller servlet that the response has been created
> return (null);
> **********************************
>
> So I'm wondering, has anyone ever heard of a proposal to allow for an
> <include> tag inside an <action> tag in the struts config, to complement
> the <forward> tag? so instead of the above i could just config like
> this:
> <action
> path="/sidenav"
> type="com.whatever.actions.SideNavAction">
> <include name="showForm" path="/WEB-INF/jsp/sideNav_form.jsp" />
> </action>
>
> It would seem like useful functionality and a more clear and struts like
> solution to the above problem.
>
> dave
>
>
> On Mon, 2005-12-12 at 18:12 -0800, David Evans wrote:
>> Hello all,
>>
>> I have a requirement for a dynamically created menu on all pages of a
>> web site i am creating. So i created an action that creates a List of
>> MenuItems, and then forwards to a jsp that uses jstl to forEach through
>> the list and generate the appropriate html. the jsp page only has the
>> snippet of html for the menu div of the page. I am including this action
>> in "static" html pages via the use of apaches SSI module like this:
>> <!--#include virtual="/apps/footer" -->
>>
>> and thought i was going to use jsp:include to include it in all of the
>> jsp pages to which my applications actions are forwarding, like this:
>> <jsp:include page="/apps/footer" />
>>
>> However when i attempt to do that i get a:
>>
>> java.lang.IllegalStateException: Cannot forward after response has been
>> committed
>>
>> This does work:
>> <c:import url="http://www.domainname.com/apps/footer" />
>> but i'd prefer not to have to use that, because then i'll have to change
>> it when things move from dev to production, so far my jsp's have no site
>> specific information, so i can just copy them.
>>
>> So can someone tell me how/if i can include the results of an action in
>> a jsp that is being forwarded to from another action?
>>
>> Thanks
>>
>> Dave
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>> For additional commands, e-mail: user-help@struts.apache.org
>>
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org