我正在尝试在Spring MVC中创建一个表单。
我想使用 scriplet 或其他方式设置<form>
元素动态的动作属性。
MyForm的:
<form:form id="myForm" modelAttribute="myFormBean"
action="<%=baseUrl%>/myFormControllerPattern" name="myForm">
<fieldset>
<table>
<tr>
<th>Name</th>
<td><form:input path="name" /></td>
</tr>
<tr>
<th>Age</th>
<td><form:input path="age"/></td>
</tr>
</table>
</fieldset>
</form:form>
错误: %&gt;的属性“未正确终止
答案 0 :(得分:4)
找到解决方案。感谢 jelies 。
在我的控制器中添加 baseUrl ,如下所示:
model.setAttribute("baseUrl",url);
然后在JSP中以我的形式使用它:
<form action="${baseUrl}/myFormControllerPattern">
答案 1 :(得分:0)
使用javascript更改表单操作。将baseUrl
作为模型变量传递给spring控制器,并使用这样的javascript函数来更改表单操作:
function changeAction () {
var baseUrl = "${baseUrl}";
var form = document.getElementById("myForm");
form.action = baseUrl;
}
希望它有所帮助。
答案 2 :(得分:0)
尝试使用javascript / jQuery技巧:
var curl = document.location.pathname;
curl = curl.substring(0, curl.indexOf(".html"));
第一行将获取您的应用地址,然后您剪切“.html”子字符串,从而可以将“/ myFormControllerPattern”添加到字符串的末尾。
答案 3 :(得分:0)
c:url标签可以是有用的
包含到jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
然后
<form id="myForm" action="<c:url value="/myFormControllerPattern" />" name="myForm">