在我的Java spring mvc web app中,我想在链接中传递一个请求参数。以下是.jsp页面代码“
的一部分 <c:url var = "updateLink" value="/customer/showFormForUpdate">
<c:param name="customerId" value="${tempCustomer.id}"></c:param>
</c:url>
<c:forEach var="tempCustomer" items="${customers}">
<tr>
<td> ${tempCustomer.firstName} </td>
<td> ${tempCustomer.lastName} </td>
<td> ${tempCustomer.email} </td>
<td> ${tempCustomer.id} </td>
<td> <a href="${updateLink}">Update</a> </td>
下面的代码部分非常合适。它会显示&#39; tempCustomer&#39;的客户ID。
<td> ${tempCustomer.id} </td>
然而,
<c:url var = "updateLink" value="/customer/showFormForUpdate">
<c:param name="customerId" value="${tempCustomer.id}"></c:param>
这部分代码无法正常工作。值=&#34; $ {tempCustomer.id}&#34;根本没有传递tempCustomer.id的值。当我点击时,更新链接
<td> <a href="${updateLink}">Update</a> </td>
网址看起来像这样
http://localhost:8080/web-customer-tracker/customer/showFormForUpdate?customerId=
参数值不存在。 url应该包含customerId参数的值。
完整参考,这里是完整的.jsp页面代码
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<title>List Customers</title>
<link type="text/css" rel="stylesheet"
href="${pageContext.request.contextPath}/resources/css/style.css"/>
</head>
<body>
<div id ="wrapper">
<div id ="header">
<h2>CRM - Customer Relationship Manager</h2>
</div>
</div>
<div id ="container">
<div id = "content">
<input type="button" value="Add Customer"
onclick="window.location.href='showFormForAdd';return false;"
class="add-button" />
<table>
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Email</th>
</tr>
<!-- ${tempCustomer.id}
-->
<c:url var = "updateLink" value="/customer/showFormForUpdate">
<c:param name="customerId" value="${tempCustomer.id}"></c:param>
</c:url>
<c:forEach var="tempCustomer" items="${customers}">
<tr>
<td> ${tempCustomer.firstName} </td>
<td> ${tempCustomer.lastName} </td>
<td> ${tempCustomer.email} </td>
<td> ${tempCustomer.id} </td>
<td> <a href="${updateLink}">Update</a> </td>
</c:forEach>
</table>
</div>
</div>
</body>
</html>
答案 0 :(得分:0)
<c:url var = "updateLink" value="/customer/showFormForUpdate">
<c:param name="customerId" value="${tempCustomer.id}"></c:param>
</c:url>
<c:forEach var="tempCustomer" items="${customers}">
<tr>
<td> ${tempCustomer.firstName} </td>
<td> ${tempCustomer.lastName} </td>
<td> ${tempCustomer.email} </td>
<td> ${tempCustomer.id} </td>
您在 c:forEach 中定义了 tempCustomer 变量。它只存在于c:forEach的范围内。将 c:url 块移到 c:forEach。
下