我已经通过了Passing drop down value through link in JSP,但我仍然无法通过下拉值
<select name="statuses">
<option value="1">On hold</option>
<option value="2">Confirmed</option>
<option value="3">Declined</option>
</select>
<a href="<c:url value="/tickets">
<c:param name="action" value="changestatus" />
<c:param name="ticketId" value="${entry.key}" />
<c:param name="optVal" value="${statuses}" /></c:url>" >Change</a>
但是当我点击Change
时,网址似乎就像这样
http://localhost:8080/customer-support/tickets?action=changestatus&ticketId=1&optVal=
您可以看到optVal
值为空。如何将选定的下拉值发送到网址?
答案 0 :(得分:0)
您将客户端和服务器端逻辑混合在一起。
您在<c:url
中使用${statuses}
执行的操作发生在服务器上。用户没有参与喷气式飞机。 ${statuses}
的值是您准备的属性。它不是用户的参数。
您可以使用表单和隐藏的输入字段在客户端创建此类链接:
<%@ 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>Insert title here</title>
</head>
<body>
<form action="" method="get">
<select name="optVal">
<option value="1">On hold</option>
<option value="2">Confirmed</option>
<option value="3">Declined</option>
</select>
<input type="hidden" name="action" value="changestatus">
<input type="hidden" name="ticketId" value="${entry.key}">
<input type="submit" value="Change">
</form>
</body>
</html>
您可以在输入隐藏字段中添加用户不应更改的每个参数。