JSTL c:url标记 - servlet上下文

时间:2012-09-13 21:48:11

标签: jsp url jstl

我们正在编写使用Spring MVC的应用程序。今天我在.jsp文件中的c:url标签没什么好玩的。

所以我最终打了个仗,现在是时候知道这个标签是多么令人兴奋了。

例如在这个页面上:http://heavyz.sourceforge.net/homepage/homepage_zh/comp/notes/jstl-core.html我可以读到它做了类似的事情

  

预先设置当前servlet上下文的名称

  

value属性用于指定基本URL,然后是标记   根据需要进行转换。如果此基本URL以转发开头   斜杠,然后将预先添加servlet上下文名称。一个明确的   可以使用context属性提供上下文名称。如果这   省略属性,然后是当前servlet上下文的名称   将被使用。

但我想知道这个current servlet context的事情,因为我的登录表单是

    <form name='f' action="<c:url value='/j_spring_security_check' />"
    method='POST'>
    <fieldset>

        <div class="form_elem">
            <label for="j_username">Login: </label> <input type="text"
                name="j_username" value="" />
        </div>
        <div class="form_elem">
            <label for="j_password" accesskey="l">Hasło:</label> <input
                type="password" name="j_password">
        </div>
        <div class="form_elem">
            <label for="_spring_security_remember_me">Zapamiętaj mnie?</label> <input
                type='checkbox' name='_spring_security_remember_me'
                id="_spring_security_remember_me" value="true" />
        </div>
        <input name="submit" type="submit" value="Send" class="newline" />
    </fieldset>
    <a href="register">Register</a><br>
</form>

你可以注意到j_spring_security_check附近的斜线,但是在我没有这个斜线之前,当有人在注册后刷新时,他获得了登录页面但是这个链接在浏览器中例如

localhost:8080/taboret/activateAccount/50555449564956495757565057535150535649494956565550554949565752545053505252485450

如果现在已发送登录表单,则会将其发送到http://localhost:8080/taboret/activateAccount/j_spring_security_check

但我认为这个servlet上下文只是taboret,即应用程序的名称。

Prepending the name of the current servlet context的意思是什么?

0 个答案:

没有答案