我在我的项目中使用spring。因为spring会自动填充来自命令对象的表单字段。有一个comboBox案例,其中命令对象具有值 newtypename (lowerCase),并且填充comboBox的列表具有此名称为 NewTypeName (camelCase)。这些值不匹配,并且未自动选择我的comboBox值。
当我设置具有值 NewTypeName 的命令对象时;它匹配并且表单加载了在comboBox中选择的值。
<form:select multiple="single" path="pluginType" id="pluginType" cssClass="dropDownSelect-small" tabindex="3" onchange="changeState()">
<form:option value="0" label="Select" />
<form:options items="${pluginTypeList}" />
</form:select>
我怎样才能实现所有情况都完美无缺的情况,即我是否输入lowerCase或camel Case。我应该在comboBox中选择该值。
答案 0 :(得分:0)
我想我明白你在这里想做什么......
选项1:如果您可以更改选项列表中的值,那么这将是一种方法:
<form:options items="${fn.toLowerCase(pluginTypeList)}" />
这需要加载JSTL函数库。
很可能您不能只更改这些值,因为应用程序已在使用中。
选项2:使选项的值控制显示值的小写版本。 这将需要更改表单的处理逻辑。
选项3:你需要实现一个'to camel case'方法,这看起来像一个kludge。
答案 1 :(得分:0)
由于JAVA区分大小写,因此comboBox案例问题,其中命令对象具有值newtypename(lowerCase)和列表,填充comboBox具有此名称,因为NewTypeName(camelCase)已使用业务逻辑修复。