0

タイル、Spring MVC、Springフォームタグを使用しています。一歩一歩形を作りたいです。ボタンをクリックすると、別のタイル定義からの入力がさらに表示されます。しかし、例外をスローすると、「BindingResultもBean名のプレーンターゲットオブジェクトも見つかりません」が見つかりません。「moreinputs」は前のリクエストからbindleオブジェクトを取得できないようですが、正しいですか?

ソースコード:

<form:form action="/saveTicker.do" commandName="ticker" modelAttribute="ticker" method="post">
 ...
 <form:input path="name" id="name"/>
 <a href="#" class="btn" onclick="confirmTicker();">Confirm</a>
<div class="row" id="filelist">
</div>
</form>

js

var confirmTicker=function(){
var ticker=$('input:text').val();
$.get("/confirmTicker.do",{ticker:ticker}).success(function(data){
    $('#filelist').html(data);
});

}

別のファイルをインポートしたい

<table class="table ">
<c:forEach var="f" items="${fileList}">
    <tr>
        <td>
            <form:checkbox path="files" value="${f}"></form:checkbox>
        </td>
    </tr>
</c:forEach>
</table>

エラーは

Neither BindingResult nor plain target object for bean name 'files' available as request attribute
4

1 に答える 1

0

私がこれを正しく読んでいるなら、あなたが欲しいのは、ユーザーが一連のステップとしてあるフォームから次のフォームに渡される「ウィザード」フォームです。まず、Spring Web Flowはこれをそのまま実行できると思いますが、私のようにSpring Web Flowを使用できない場合は、手動で実行できます。

まず、すべてのフォームからのすべての可能な入力を持つフォームBean(コマンドオブジェクトの読み取り)が必要です。

次に、Form Beanを受け入れて適切なステップを返す1つのControllerメソッド(これは私が行ったことです)を使用するか、複数のメソッドを使用できます...問題ではありません。ハンドラーメソッドの@ModelAttributeアノテーションを使用して、フォームBeanをビューフォームにバインドします。また、フォームBeanをセッション属性として設定するためのコントローラーの上部にある@SessionAttributesアノテーション。@ ModelAttribute、@ SessionAttribute、およびビューの名前がす​​べて同じ属性名に対応していることを確認してください。

最後に、それぞれが同じであるが、その時点でFormBeanに設定する部分のみを含む複数のビューを作成します。JSR 303を使用することはできません。または、ステップ間で検証を行うことができないため、少なくともどのように使用できるかわかりません。最後に自分で検証を処理する必要があります。

于 2013-02-18T16:06:38.483 に答える