这是我的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
进入jsp
如果我只从选项中选择合同,那么如果我给cpv代码null
即将到来,那么参数即将到来......任何人都可以帮忙解决这个问题......
为什么我的选择选项值取决于其他表单元素cpv-code
值,请说明原因。
感谢。
答案 0 :(得分:1)
我刚刚测试了代码,似乎工作正常。没有价值取决于另一个。如果您不希望通过URL发送数据,则只有建议添加method="POST"
。
<强>的index.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>
<强> upload.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>
答案 1 :(得分:1)
<button type="submit">FIND <%= contractOrTender %></button>
在此示例中,只要您在文本框中输入文本,只需 contractOrTender 这个值可以从文本框中获得。
但是,由于您没有在文本框中输入任何值并尝试从下拉列表中访问值,因此它将会出现“无效”状态。只要。因此,此时&lt;%= contractOrTender%&gt; 此值为空。
在jsp页面中出错。这就是为什么你没有得到下拉值,即使你没有在文本框中输入任何值。
的解决方案强> 的
尝试将一些默认值设置为textbox。或
更改您的HTML代码。