1

我正在尝试在 Spring MVC 中创建一个表单。

我想使用scriplet或其他东西动态设置元素的动作属性。<form>

我的表格:

<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>

错误:%>" 的属性未正确终止

4

4 回答 4

4

找到了解决方案。感谢果冻

在我的控制器中添加了baseUrl ,如下所示:

model.setAttribute("baseUrl",url);

然后在 JSP 中以我的形式使用它:

<form action="${baseUrl}/myFormControllerPattern">
于 2012-08-03T16:03:24.353 回答
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">
于 2014-05-29T21:12:54.727 回答
0

改为使用 javascript 更改表单操作。baseUrl在 spring 控制器中作为模型变量传递,并使用这样的 javascript 函数来更改表单操作:

function changeAction () {
    var baseUrl = "${baseUrl}";
    var form = document.getElementById("myForm");
    form.action = baseUrl;
}

希望能帮助到你。

于 2012-08-03T07:42:51.350 回答
0

尝试使用 javascript/jQuery 技巧:

var curl = document.location.pathname;
    curl = curl.substring(0, curl.indexOf(".html"));

第一行将获取您的应用程序地址,然后您剪切“.html”子字符串,从而可以将“/myFormControllerPattern”添加到字符串的末尾。

于 2012-08-03T07:44:50.850 回答