Java

NAVIGATION
CATEGORIES
REFERRENCE
LINKS
  • Nested request in <c:import>

    2 answers - 1233 bytes - related search similar search Add To My Delicious Add To My Stumble Upon Add To My Google Mark Add To My Facebook Add To My Digg Add To My Reddit

    Hi,
    Under jsp 2.0 (jstl 1.2), is there any way to force <c:import>, or
    perhaps the requestDispatcher.include() in particular, to set up a new
    request scope when the resource is in the same context? I'm using
    <c:importto do sort of a lightweight tiles replacement for a page
    menu, and the imported servlet execution is stomping on some of my
    request variables that my controller sets up for the view. So, for
    example:
    Controller does request.setAttribute("someModel",x);
    jsp does <c:import>
    imported controller does request.setAttribute("someModel",y)
    jsp for imported controller is happy (finds y)
    import returns
    jspi for original controller finds y instead of x under "someModel",
    and bad things happen.
    I'd really like the imported servlet to see a wrapped/cloned request,
    in which it muck with anything, but that the original request context
    is untouched. I don't know if this prohibited by the jsp spec though.
    Thanks,
    -Clint
    To unsubscribe, e-mail: taglibs-user-unsubscribe (AT) jakarta (DOT) apache.org
    For additional commands, e-mail: taglibs-user-help (AT) jakarta (DOT) apache.org
  • No.1 | | 1322 bytes | |

    For the same context, <c:importis the equivalent of
    RequestDispatcher.include, so the request scope is essentially shared. Is
    it possible for you to refactor either the included servlet or your
    controller to avoid the stomping?

    Clint Popetz wrote:
    Hi,

    Under jsp 2.0 (jstl 1.2), is there any way to force <c:import>, or
    perhaps the requestDispatcher.include() in particular, to set up a new
    request scope when the resource is in the same context? I'm using
    <c:importto do sort of a lightweight tiles replacement for a page
    menu, and the imported servlet execution is stomping on some of my
    request variables that my controller sets up for the view. So, for
    example:

    Controller does request.setAttribute("someModel",x);

    jsp does <c:import>

    imported controller does request.setAttribute("someModel",y)

    jsp for imported controller is happy (finds y)

    import returns

    jspi for original controller finds y instead of x under "someModel",
    and bad things happen.

    I'd really like the imported servlet to see a wrapped/cloned request,
    in which it muck with anything, but that the original request context
    is untouched. I don't know if this prohibited by the jsp spec though.

    Thanks,
    -Clint
  • No.2 | | 1666 bytes | |

    8/3/06, Kris Schneider <kris (AT) dotech (DOT) comwrote:
    For the same context, <c:importis the equivalent of
    RequestDispatcher.include, so the request scope is essentially shared. Is
    it possible for you to refactor either the included servlet or your
    controller to avoid the stomping?

    Not easily. But I just checked around, and the Spring MVC controller
    had a bit of code to check for the presence of
    in the request and save away a copy
    of the request attributes, restoring them after view rendering, so
    that's what I'll do.
    -Clint

    Clint Popetz wrote:
    Hi,

    Under jsp 2.0 (jstl 1.2), is there any way to force <c:import>, or
    perhaps the requestDispatcher.include() in particular, to set up a new
    request scope when the resource is in the same context? I'm using
    <c:importto do sort of a lightweight tiles replacement for a page
    menu, and the imported servlet execution is stomping on some of my
    request variables that my controller sets up for the view. So, for
    example:

    Controller does request.setAttribute("someModel",x);

    jsp does <c:import>

    imported controller does request.setAttribute("someModel",y)

    jsp for imported controller is happy (finds y)

    import returns

    jspi for original controller finds y instead of x under "someModel",
    and bad things happen.

    I'd really like the imported servlet to see a wrapped/cloned request,
    in which it muck with anything, but that the original request context
    is untouched. I don't know if this prohibited by the jsp spec though.

    Thanks,
    -Clint

Re: Nested request in <c:import>


max 4000 letters.
Your nickname that display:
In order to stop the spam: 3 + 2 =
QUESTION ON "Java"

EMSDN.COM