使用Spring-MVC,使用<form:select>和<form:options>错误的itemValue

时间:2015-08-09 18:43:06

标签: spring forms jsp spring-mvc

我有一个填充表单的对象集合:select。我正在使用Spring-MVC和JSP。我的对象只有两个属性:“id”和“name”。

我选择的代码:

<form:select path="something.id">
    <form:option value="-" label="-- Select --"/>
    <form:options items="${objectList}" itemValue="id" itemLabel="name"/></form:select>

问题是:objectList中我的对象中id属性的值无关紧要,选项中的值只能按顺序自动生成其值:0,1,2,3 ......在生成的代码下面:

<select id="something.id" name="something.id">
    <option value="0">-- Select --</option>
    <option value="1">TEST1</option>
    <option value="2">TEST2</option>
    <option value="3">TEST3</option>
</select>

正确应该是(例如):

<select id="something.id" name="something.id">
    <option value="-">-- Select --</option>
    <option value="7">TEST1</option>
    <option value="15">TEST2</option>
    <option value="23">TEST3</option>
</select>

我已经验证了客户端的值,它们是正确的。但是选项中的值总是按顺序生成。

2 个答案:

答案 0 :(得分:0)

试试这个

<form:select path="selectName">
    <form:option value="0" label="Select an Option" />
    <form:options items="${nameOfList}" />
</form:select>

参考 http://www.mkyong.com/spring-mvc/spring-mvc-dropdown-box-example/

答案 1 :(得分:0)

我的不好,这是HDIV的一个特色。

A6(敏感数据暴露):HDIV为服务器端生成的所有数据提供机密性。也就是说,HDIV用相对值(0,1,2,4等)替换服务器端生成的原始参数值,避免将关键数据暴露给客户端。

参考:http://www.hdiv.org/hdiv-documentation-single/doc.html