jsp - Servlet path is not included in <c:url> -


i have simple java webapp (eg. test) containing 2 different springmvc application.

my web.xml maps them as:

    <servlet-mapping>         <servlet-name>web</servlet-name>         <url-pattern>/web/*</url-pattern>     </servlet-mapping>     <servlet-mapping>         <servlet-name>restful</servlet-name>         <url-pattern>/restful/*</url-pattern>     </servlet-mapping> 

inside web part i'm using "classic" libraries, such jstl core.

i don't understand how avoid jstl c:url tag ignoring url pattern.

if write

<c:url value="/browse/"/> 

the link rendered /test/browse , not /test/web/browse.

what i'm missing?

thank you

the <c:url> indeed not take servlet path account. that's own responsibility. <c:url> takes httpservletrequest#getcontextpath() account.

either hardcode yourself:

<c:url value="/web/browse" /> 

or inline result of httpservletrequest#getservletpath():

<c:url value="${pagecontext.request.servletpath}/browse" /> 

or if you're forwarding, inline result of requestdispatcher#forward_servlet_path:

<c:url value="${requestscope['javax.servlet.forward.servlet_path']}/browse" /> 

wrap if necessary in custom tag save boilerplate.


Comments

Popular posts from this blog

facebook - android ACTION_SEND to share with specific application only -

python - Creating a new virtualenv gives a permissions error -

javascript - cocos2d-js draw circle not instantly -