1

実際にはここに 2 つの質問があります。

まず、私のページで、ユーザーはボタンをクリックして新しいエントリを追加し、JSP フォームに誘導します。テキスト ボックスにいくつかの情報を入力すると、データベースからデータを取得するドロップ ダウンが表示されます。
一部のフィールドは、基本的な検証によってバインドされています。

@NotNull(message="Version field may not be left blank")

ここで、ユーザーが [バージョン] フィールドを空白のままにして新しいエントリを送信しようとするという問題に遭遇しました。システムは、ユーザーに値を入力する必要があることを通知するメッセージを正しくポップアップ表示しますが、ドロップダウンが空になり、ユーザーはページに戻って最初からやり直して、データを再度ロードする必要があります。

投稿する量や量を知るのが非常に難しいかなりの量のコード ブロック....しかし、基本的に'add'クリックはキャッチされ、これによって処理されます。

@RequestMapping(value = "/cmsattribute_add", method = RequestMethod.GET)
public String Home(ModelMap model, HttpServletRequest request) {

    List<CmsGroup> list =  cmsGroupService.getCmsGroupData();
    TreeMap<Integer, String> entries = getCMSList(list);
    model.addAttribute("entries", entries);

    List<Attribute> attList = attributeService.getAttributeData();
    TreeMap<Integer, String> attResult = getAttributeList(attList);     
    model.addAttribute("attResult", attResult);

    CmsAttribute cmsAttribute = new CmsAttribute();
    model.addAttribute("cmsAttribute", cmsAttribute);
    return "/cmsattribute_insert";
}

そして、私のjspを介して次のように表示されます:

<tr>
    <td><span class="required">*</span> CMS Group ID:</td>
    <td>
        <form:select path="cmsGroupId">
            <form:options items="${entries}" /> 
        </form:select>
    </td>
    <td><form:errors path="cmsGroupId" cssClass="required" /></td>
</tr>

私は何をすべきかわからない:(

2 番目の質問: もっと単純な質問です。これらのテーブルのいくつかには、サーバーから入力されるドロップダウンがあります (上記と同じ方法) が、ページが読み込まれたときにデフォルトとしてドロップダウンにエントリidを追加するようなオプションのフィールドであるため'blank'そのため、送信された後にユーザーがそのフィールドに何も追加する必要がない場合、そこから何も返されません。

手がかりはありますか?

みんなありがとう

4

1 に答える 1

0

フォームオプションで、コードごとに使用を変更できるかもしれません..このように。

 <form:select path="cmsGroupId">
    <c:forEach var="d" items="${entries}">
       <form:options items="${d.name}" /> 
    </c:forEach>
 </form:select>
于 2013-08-30T03:36:39.967 に答える