显示默认值并按下拉列表值维护排序

时间:2015-08-06 18:48:35

标签: spring jsp spring-mvc drop-down-menu

我正在开发一个应用程序,它需要在jsp页面中显示一组问题作为下拉(用户需要回答3个问题)。

它工作正常,但问题是每次我显示下拉列表(问题都相同),默认选择的问题是不同的 - 我在控制器中设置的实际问题。我需要能够只显示第一个或“选择”字符串作为默认选项。

我的jsp:

<tr>
    <br />
    <form:label path="qs1">
        <span class="">qs 1</span>
    </form:label>
    <br />
    <form:select path="qs1" multiple="false">
        <form:option value="${obj.qs0}" label="${obj.qs0}" />
        <form:option value="${obj.qs1}" label="${obj.qs1}" />********In this instance this option is shown in the drop down
        <form:option value="${obj.qs2}" label="${obj.qs2}" />
        <form:option value="${obj.qs3}" label="${obj.qs3}" />
    </form:select>
    <br />
</tr>

<tr>
    <br />
    <form:label path="as1">
        <span class="">as 1</span>
    </form:label>
    <br />
    <form:input class=""  path="as1" />
    <br />
</tr>

<tr>
    <br />
    <form:label path="qs2">
        <span class="">qs 2</span>
    </form:label>
    <br />
    <form:select path="qs2" multiple="false">
        <form:option value="${obj.qs0}" label="${obj.qs0}" />
        <form:option value="${obj.qs1}" label="${obj.qs1}" />
        <form:option value="${obj.qs2}" label="${obj.qs2}" />********In this instance this option is shown in the drop down
        <form:option value="${obj.qs3}" label="${obj.qs3}" />
    </form:select>
    <br />
</tr>

<tr>
    <br />
    <form:label path="as2">
        <span class="">as 2</span>
    </form:label>
    <br />
    <form:input class=""  path="as2" />
    <br />
</tr>

我甚至尝试选择=“选择”正确的,但它不起作用。任何的意见都将会有帮助。感谢。

编辑:我应该很清楚。我确实尝试了Amit建议的选项,截至目前obj.qs0具有值而不是在JSP中提及。我刚刚添加了这个选项以及问题。问题是我需要将问题设置为Questions对象,如下所示

Questions qs = new Questions();
qs.setQs0("----------Select-------------");
qs.setQs1("what is the name");
qs.setQs2("what is the color");

等等。

所以在jsp我设置路径

<form:select path="qs1" multiple="false">
<form:select path="qs2" multiple="false">

因此自动选择那些问题(q1,q2等),我无法将选择更改为始终指向qs0(我有默认选项)。我还需要设置不同的路径,因为我需要能够捕获不同的问题&amp;回答用户选择。

1 个答案:

答案 0 :(得分:0)

1)显示&#34;选择&#34;默认情况下,您可以添加以下行: -

 <form:select path="qs1" multiple="false">
    **<form:option value="NONE" label="--- Select ---" />**
    <form:option value="${obj.qs0}" label="${obj.qs0}" />
    <form:option value="${obj.qs1}" label="${obj.qs1}" />
    <form:option value="${obj.qs2}" label="${obj.qs2}" />
    <form:option value="${obj.qs3}" label="${obj.qs3}" />
</form:select>

2)使用LinkedHashMap或LinkedList存储下拉值以维持排序。