我正在尝试将productId映射到我的jsp页面中的URL,但值是错误的。
该URL返回<a href="/casadocodigo/produtos/%7B/id%7D">Título 1</a>
但响应返回正确的值:
我的jsp代码:
<%@ page language="java" contentType="text/html; charset=iso-8859-1" pageEncoding="iso-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Insert title here</title>
</head>
<body>
<div>
${success}
</div>
<table>
<tr>
<td>Id</td>
<td>Titulo</td>
<td>Valores</td>
</tr>
<c:forEach items="${products}" var="product">
<tr>
<td>${product.id}</td>
<td><a href="${spring:mvcUrl('PC#show').arg(0, product.id).build()}">${product.title}</a></td>
<td>
<c:forEach items="${product.prices}" var="price">
[${price.value} - ${price.bookType}]
</c:forEach>
</td>
</tr>
</c:forEach>
</table>
我的Java控制器代码:
@RequestMapping(method=RequestMethod.GET)
public ModelAndView list() {
ModelAndView modelAndView = new ModelAndView("products/list");
modelAndView.addObject("products", productDAO.list());
return modelAndView;
}
我的Java DAO代码:
public List<Product> list() {
return manager.createQuery("select distinct(p) from Product p join fetch p.prices", Product.class).getResultList();
}
答案 0 :(得分:0)
不幸的是我看不到你的方法'show'。 我猜你在路径上印有错误信息:
@RequestMapping("/show{/id}")
//--------------------^^ WRONG
public String show(@PathVariable("id") long id) {
...
}
代替
@RequestMapping("/show/{id}")
//--------------------^^ RIGHT