Jsp 如何在<;选项>;servlet中的标记</选项>;

Jsp 如何在<;选项>;servlet中的标记</选项>;,jsp,select,servlets,request,html-select,Jsp,Select,Servlets,Request,Html Select,我已经在我的索引页中选择了。它看起来像下面 <div id="dropdown" class="input-group" style="width:50%"> <select class="form-control" id="select2" name="select2" onchange="javascript:document.form1.submit();" style="width : 250px">

我已经在我的索引页中选择了。它看起来像下面

<div id="dropdown" class="input-group" style="width:50%">
                    <select class="form-control" id="select2" name="select2" onchange="javascript:document.form1.submit();" style="width : 250px">
                        <option value="C:/path1" >option 1/option>
                        <option value="C:/path2" >option 2</option>
                        <option value="C:/path3" >option 3</option>
                        <option value="C:/path4" >option  4</option>
                        <option value="C:/path5" >option  5</option>
                        <option value="C:/path6" >option 6</option>
                    </select> 
                </div>

现在我需要获取标签之间的文本,即,我需要“选项1”或基于选择的任何内容。我该怎么做呢。请帮忙。提前感谢:)

这里是简单快速的解决方案

试试这个

<select class="form-control" id="select2" name="select2" onchange="javascript:document.form1.submit();" style="width : 250px">
                    <option value="C:/path1_option 1" >option 1/option>
                    <option value="C:/path2_option 2" >option 2</option>
</select>

因此,您可以获得这两个值。…

使用表单,您只能
选择选项的值
,如果您还需要选项标签,则需要编写额外的逻辑以将数据发送到服务器

<div id="dropdown" class="input-group" style="width:50%">
    <input type="hidden" name="selectedLabel" id="selectedLabel">
    <select class="form-control" id="select2" name="select2" onchange="javascript:getSelectedLabel(this);" style="width : 250px">
       <option value="C:/path1" >option 1/option>
       <option value="C:/path2" >option 2</option>
       <option value="C:/path3" >option 3</option>
       <option value="C:/path4" >option  4</option>
       <option value="C:/path5" >option  5</option>
       <option value="C:/path6" >option 6</option>
    </select> 
</div>
服务器端:

String value= request.getParameter("select2");
String label = request.getParameter("selectedLabel"); 

不…仍然获得“值”属性的值您可以获得路径加号的值和选项值,对吗?那问题是什么?不。我得到的只是路径值。我还尝试了字符串vals[]=value.split(“\u1”);它不起作用。如果我选择“Option1”,我会得到“Option1”而不是“C:/path1\u option 1”我也不想改变路径值……因为我在其他地方使用它,你如何用表单发送数据?你能给我完整的代码吗?你能在之前得到代码中的值(路径)吗?嗨,Srinu。我希望在Servlet中获得该值,而不是在js中。您能帮助我如何获取servlet吗。@newbie22,默认情况下,html表单不会将
选项
文本发送到服务器。如果需要文本,则需要显式发送。在js中,我将该值设置为隐藏变量,以便该值可用于服务器。在我的代码中,我在表单提交之前添加了一个隐藏变量和设置值。非常感谢@Srinu。我试过你的密码。我认为这样最好。但当我在servlet中打印该隐藏文本值时,我得到的是空值。隐藏字段应该在
表单
标记中,然后只有该值才会发送到服务器。还要验证隐藏字段是否具有
id
属性,因为在js中我们使用的是
document.getElementById
设置值。Yes@Srinu它位于标记内部,并且具有id。但当我尝试使用String services=request.getParameter(“selectedLabel”)获取servlet时仍然如此;我没有得到任何值或空字符串
<div id="dropdown" class="input-group" style="width:50%">
    <input type="hidden" name="selectedLabel" id="selectedLabel">
    <select class="form-control" id="select2" name="select2" onchange="javascript:getSelectedLabel(this);" style="width : 250px">
       <option value="C:/path1" >option 1/option>
       <option value="C:/path2" >option 2</option>
       <option value="C:/path3" >option 3</option>
       <option value="C:/path4" >option  4</option>
       <option value="C:/path5" >option  5</option>
       <option value="C:/path6" >option 6</option>
    </select> 
</div>
function getSelectedLabel(sel) {
    document.getElementById("selectedLabel").value = sel.options[sel.selectedIndex].text;
    document.form1.submit();
}
String value= request.getParameter("select2");
String label = request.getParameter("selectedLabel");