Spring MVC,表单动作中的子文件夹

Lan*_*erX 2 forms action spring-mvc

我有问题,如何在动作属性中创建uri.我必须使用子文件夹作为"用户","管理员"因为我使用Spring Security.

<form:form action="/user/reservationTour.html" method="post" commandName="bookTourForm">
Run Code Online (Sandbox Code Playgroud)

结果,没有项目名称http:// localhost:8080/user/reservationTour.html

<form:form action="user/reservationTour.html" method="post" commandName="bookTourForm">
Run Code Online (Sandbox Code Playgroud)

结果,链接中的2x用户http:// localhost:8080/ProjectContextTitle/user/user/reservationTour.html

<form:form action="<c:url value="/user/reservationTour.html" />" method="post" commandName="bookTourForm">
Run Code Online (Sandbox Code Playgroud)

结果,例外

org.apache.jasper.JasperException: /jsp/user/reservationTourPage.jsp(7,33) Unterminated &lt;form:form tag
Run Code Online (Sandbox Code Playgroud)

这很好,但肯定不是很好的解决方案

<form:form action="/ProjectContextName/user/reservationTour.html" method="post" commandName="bookTourForm">
Run Code Online (Sandbox Code Playgroud)

JB *_*zet 12

如果您已经在用户目录中,则只需使用相对URL:

<form:form action="reservationTour.html" method="post" commandName="bookTourForm">
Run Code Online (Sandbox Code Playgroud)

如果要使用绝对URL,请使用<c:url>,但不要将其包含在另一个JSP标记的属性中:这是非法的.

<c:url value="/user/reservationTour.html" var="theAction"/>
<form:form action="${theAction}" ...>
Run Code Online (Sandbox Code Playgroud)