Java SpringWebMVC中的组合框

Java SpringWebMVC中的组合框,java,jakarta-ee,spring-mvc,Java,Jakarta Ee,Spring Mvc,我在应用程序的UI部分使用SpringWebMVC 通过使用下面的代码,我得到了一个列表框,在这里我可以选择多个值 <form:select path="domainsList"> <form:options items="${domainsList}" itemValue="domain" itemLabel="domain"/> </form:select> 但我需要一个下拉组合框 有谁能建议我如何把它转换成组合框吗 提前感谢。spring的“for

我在应用程序的UI部分使用SpringWebMVC

通过使用下面的代码,我得到了一个列表框,在这里我可以选择多个值

<form:select path="domainsList">
<form:options items="${domainsList}" itemValue="domain" itemLabel="domain"/>
</form:select>

但我需要一个下拉组合框

有谁能建议我如何把它转换成组合框吗

提前感谢。

spring的“form:select”标记只是包装了HTML选择元素。它还有一个属性大小,必须将该值设置为1,才能将此选择呈现为组合框(在大多数浏览器中)

这是基本的HTML:


@请检查您的标记。这应该行得通

<html>
    <SELECT name="selection" size="1">
        <OPTION selected label="none" value="none">None</OPTION>
        <OPTION label="1" value="1">OPTION 1</OPTION>
        <OPTION label="2" value="2">OPTION 2</OPTION>
        <OPTION label="3" value="3">OPTION 3</OPTION>
    </SELECT>
</html>

没有一个
选择1
选择2
选择3

对不起,我问了一个愚蠢的问题。。但我通过以下代码获得了工作组合框:

<form:select path="domainsList" multiple="false" size="1">
<form:options items="${domainsList}" itemValue="domain" itemLabel="domain"/>
</form:select>
</form:form>

Spring将根据数据类型决定要使用的字段类型,因此,如果“路径”字段是对象,它将显示一个下拉列表,但如果是“列表”(数组、集合等),它将显示一个列表,除非您指定multiple=“false”

这将显示具有多个选择的列表:

Integer[] ids;
<form:select path="ids" items="${whatever}" />
Integer id;
<form:select path="id" items="${whatever}" />
Integer[] ids;
<form:select path="ids" items="${whatever}" multiple="false" />
Integer[]id;
这将显示一个带有单个选择的下拉列表:

Integer[] ids;
<form:select path="ids" items="${whatever}" />
Integer id;
<form:select path="id" items="${whatever}" />
Integer[] ids;
<form:select path="ids" items="${whatever}" multiple="false" />
整数id;
这也将显示一个带有单个选择的下拉列表:

Integer[] ids;
<form:select path="ids" items="${whatever}" />
Integer id;
<form:select path="id" items="${whatever}" />
Integer[] ids;
<form:select path="ids" items="${whatever}" multiple="false" />
Integer[]id;

您能说清楚一点吗?HTML中没有“组合框”(一个可编辑的下拉列表)这样的东西,初学者经常混淆这个术语。你真的需要一个可编辑的下拉列表吗?如果是,它应该如何编辑?通过将第一项当作输入文本键入?或者通过两个元素和一组按钮,将所选项目从左向右移动,反之亦然?嗨,BalusC。。我只是一个简单的下拉列表(如组合框),用户只能选择1个值,就是这样。。。从上面我在我的问题中发布的代码中,我得到了一个列表框,用户可以在其中选择一个以上的值,我不想要..嗨,squiddle。。谢谢你的回复。。但从您的ans中,我并没有得到一个纯组合框,用户只能从给定列表中选择1个选项。。你能重新检查一下你的答案吗?哦,这只是一个下拉列表,不是一个组合框(html中还没有这样的东西),而且下拉列表通常不可能进行多选。很抱歉给老板带来不便。。我通过添加multiple=“false”属性得到了解决方案…@squiddle:使用“multiple”属性当然可以进行多次选择。@BalusC,但不能作为下拉列表。它将呈现为一个列表(至少在Chromium、Firefox和Mac OS上的Safari中是这样)。在Firefox中,即使只是一个只有一行的列表,也无法使用。这不是一个组合框。这是一个下拉列表。组合框是一个可编辑的下拉列表,默认情况下HTML中不存在这样的东西(因此在提供基本HTML组件的基于组件的MVC框架中也不存在):)