1

SpringMVCでフォームを作成しようとしています。

スクリプレットなどを使用して、要素のアクション属性を動的に設定したい。<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>

エラー:%>"の属性が正しく終了していません

4

4 に答える 4

4

解決策を見つけました。jeliesに感謝します。

このように私のコントローラーにbaseUrlを追加しました:

model.setAttribute("baseUrl",url);

そして、JSPの私のフォームでそれを使用しました:

<form action="${baseUrl}/myFormControllerPattern">
于 2012-08-03T16:03:24.353 に答える
0

代わりにjavascriptを使用してフォームアクションを変更してください。Spring Controllerでモデル変数として渡しbaseUrl、次のような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 に答える
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 に答える