从数据库填充的JSP下拉列表

时间:2013-03-27 15:58:52

标签: database jsp validation model-view-controller

所以实际上这里有两个问题。

首先,在我的页面上,用户单击一个按钮添加一个新条目,将它们定向到JSP表单。 他们通过文本框填写一些信息,然后有从我们的数据库中提取数据的下拉菜单 一些字段受基本验证约束:

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

现在我遇到一个用户尝试提交新条目的问题,其中Version字段留空。 系统正确弹出消息,通知用户必须输入值,但是下拉列表现在为空, 并且用户必须返回页面并重新开始以使他们再次加载数据。

相当多的代码块很难知道要发布多少或多少......但基本上'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>

我不知道该怎么办:(

第二个问题: 更简单一个。对于其中一些表,有一个从服务器填充的下拉列表(与上面相同),但因为它是一个可选字段id,所以想在drop中添加'blank'条目-down作为加载页面时的默认值,这样如果用户在提交后不需要在该字段中添加任何内容,则不会从中传回任何内容。

任何线索?

谢谢你们

1 个答案:

答案 0 :(得分:0)

在表单选项中,您可以更改每个代码的使用情况。就像这样。

 <form:select path="cmsGroupId">
    <c:forEach var="d" items="${entries}">
       <form:options items="${d.name}" /> 
    </c:forEach>
 </form:select>