Java 为选项标记值属性赋值
我正在开发一个web应用程序。我在网页上有一个select标签,下面有大约10000个选项Java 为选项标记值属性赋值,java,jsp,servlets,option,Java,Jsp,Servlets,Option,我正在开发一个web应用程序。我在网页上有一个select标签,下面有大约10000个选项 out.println("<select name=nodes>"); for(int i=0;i<nw.collectNodes.length;i++) { out.println("<option>"+nw.collectNodes[i]+"</option>"); } o
out.println("<select name=nodes>");
for(int i=0;i<nw.collectNodes.length;i++)
{
out.println("<option>"+nw.collectNodes[i]+"</option>");
}
out.println("/<select>");
out.println(“”);
对于(int i=0;i只需将value
属性添加到连接的String
中,确保转义引号。我还向示例中添加了StringBuilder
,因为您创建了10000个选项
元素。这应该对性能有所帮助
StringBuilder sb = new StringBuilder();
out.println("<select name=\"nodes\">");
for(int i=0;i<nw.collectNodes.length;i++)
{
sb.append("<option value=\""+ nw.collectNodes[i]+"\">"+nw.collectNodes[i]+"</option>");
}
out.println(sb.toString());
out.println("/<select>");
因此,现在表单提交到servlet,您可以在其中访问传递的参数,如:
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String nodes = request.getParameter("nodes");
}
因此,首先,您需要将value
属性添加到您的选项中,如果没有该属性,servlet中的值将始终为空:
out.println("<select name=nodes>");
for(int i=0;i<nw.collectNodes.length;i++)
{
out.println("<option value='"+nw.collectNodes[i]+"'>"+nw.collectNodes[i]+"</option>");
}
out.println("<select>");
并在数组上迭代以打印所有值:
for(String s : values ) out.println(s+'');
第一部分很简单,只需为选项添加值。如何捕获选择框上的单击事件取决于您的库(仅JS、jQuery、Mootools等)请在您的问题中指定它正在工作。但是我如何捕获选定的值并将其发送到servlet。我在select标记中的name属性周围添加了引号。这可能会有所帮助。不是真的……如果我在public void service()中编写此代码,{}..?是的,它会的。它应该在servlet的post方法中。实际上,我如何获得单击的值,因为我的要求是,我必须将所选的值传递给where子句以便进一步检索。@SaurabhDeshpande抱歉,它是getParameterValues而不是getParameter。欢迎{OwenGrzegorek}{AimeeHockenbrock}Submit null是否有包含NeoServlet.java的名为demo的包?如果是,我认为您的路径有问题:我将hv pkg作为demo-sampServlet.java在您的表单中,将操作文件更改为namePackage.FileName而不包含.java
String[] values = request.getParameterValues( "nodes" );
for(String s : values ) out.println(s+'');