You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by David Evans <ds...@berndtgroup.net> on 2005/12/13 16:54:13 UTC
Re: jsp:includes or c:imports of action AND new tag for
in struts config
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
Re: jsp:includes or c:imports of action AND new tag for
in struts config
Posted by Laurie Harper <la...@holoweb.net>.
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