0

这是我的 HTML 表单:

 <form action="supplierportal_home.jsp">


   <select id="contract" name="contract"> 
     <option    selected="selected">Please Select</option>
     <option    value="open" >Open</option>
     <option    value="limited" >Limited</option>  
   </select>

   <input type="text" name="cpv_code" placeholder="<%= cpvOrTenderNo %>">

   <button type="submit">FIND  <%= contractOrTender %></button>

  </form>

我正在进入 JSP

String  contract=request.getParameter("contract");
    System.out.println("%%%"+contract);

    String  cpv_code=request.getParameter("cpv_code");
    System.out.println("%%%"+cpv_code);

这就是问题所在。看起来很讨厌。

当我输入两个值时, 只有parameters进入jspnull

为什么我的选择选项值取决于其他表单元素cpv-code值,请说明原因。

谢谢。

4

2 回答 2

1
<button type="submit">FIND  <%= contractOrTender %></button>

在此示例中,只要您在文本框中输入文本,则只能从contractOrTender 获取此值。

但是,由于您没有在文本框中输入任何值并尝试从下拉列表中访问值,因此它只会出现“null”。作为 boz 此时<%= contractOrTender %>这个值是空的。

这是jsp页面中的一个错误。这就是为什么即使您没有在文本框中输入任何值也不会获得下拉值的原因。

解决方案

尝试为文本框设置一些默认值。或者

更改您的 HTML 代码。

于 2013-06-09T10:01:09.113 回答
1

我刚刚测试了代码,它似乎工作正常。没有任何价值取决于其他。method="POST"如果您不希望通过 URL 发送数据,则仅添加建议。

索引.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index Page</title>
</head>
<body>
 <form action="upload.jsp" method="POST">


   <select id="contract" name="contract"> 
     <option    selected="selected">Please Select</option>
     <option    value="open" >Open</option>
     <option    value="limited" >Limited</option>  
   </select>

   <input type="text" name="cpv_code" />
   <button type="submit">FIND</button>

</form>

</body>
</html>

上传.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Upload JSP</title>
</head>
<body>

<%
String  contract=request.getParameter("contract");
System.out.println("%%%"+contract);

String  cpv_code=request.getParameter("cpv_code");
System.out.println("%%%"+cpv_code);
%>

</body>
</html>
于 2013-06-09T09:51:48.200 回答