我在jsp / servlet中的下拉框有一个奇怪的问题。这是......
<select name="locdropdown" onchange="javascript:change()" >
<%
for(LocationDO locationDO : locationList){%>
<option value=<%=locationDO.getLocationName().trim()%>><%=locationDO.getLocationName().trim()%></option>
<%} %>
</select>
显示的值是:
BI Sholingar
BI Mahindra City
BI Sanand
Rolltec_DTA
Aztec Auto Ltd
BI Gurgoan
以下是我尝试在servlet中读取它的方法。
String locclasses = req.getParameter("locdropdown");
System.out.println(locclasses);
假设我选择Aztec Auto Ltd
然后来自servlet的预期输出是相同的。但输出为Aztec
。同样,如果我选择BI Sanand,则实际输出为BI
有人可以帮忙吗
答案 0 :(得分:3)
您需要引用该值。
<option value="<%=locationDO.getLocationName().trim()%>">
空格是HTML属性分隔符。当您通过右键单击页面&gt;检查生成的HTML时,具有一点体面语法高亮显示的浏览器已经暗示了它。 查看来源。
<option value=Aztec Auto Ltd>
与
<option value="Aztec Auto Ltd">
答案 1 :(得分:0)
正如BalusC在回答中所说,问题在于你的价值分配。
将您的代码修改为:
<select name="locdropdown" onchange="javascript:change()" >
<%
for(LocationDO locationDO : locationList)
{%>
<option value="<%=locationDO.getLocationName().trim()%>" >
<%=locationDO.getLocationName().trim()%>
</option>
<%}
%>
</select>
希望这有帮助。