我的应用程序出现映射错误。正如你从代码中看到的那样我有
@RequestMapping("/productList")
但是当我在我的主页上并悬停在我的浏览器左下方的产品(for / productList)链接时,网址如下
localhost:8080/eMusiscStore/productList;jsessionid=B16DF0DE6E0089AC5F7DBE356181BBB1
因此,有时,页面无法显示,有时请求页面(/ productList)正常加载。
我可以做些什么来确保每次映射都是正确的?
我只发布了我的HomeController。如果您需要其他文件,请与我们联系。
package com.controllers;
import java.io.IOException;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import com.entities.Product;
import com.servicesapi.ProductService;
@Controller
public class HomeController {
@Autowired
ProductService productService;
@RequestMapping("/")
public String home(){
System.out.println("HomeController home");
return "home";
}
@RequestMapping("/productList")
public String getProducts(Model model) {
System.out.println("HomeController productiList");
List<Product> products = productService.getAllProducts();
model.addAttribute("products", products);
return "productList";
}
@RequestMapping("/productList/viewProduct/{productId}")
public String viewProduct(@PathVariable String productId, Model model) throws IOException{
Product product = productService.getProductById(productId);
model.addAttribute(product);
return "viewProduct";
}
}
答案 0 :(得分:0)
正如您在说明中所提到的那样,有时候您可以呈现productList页面。这可能是一个错误的缓存问题。您可以尝试运行您的页面隐身模式或始终清除缓存。还要双重确保你的休息电话在Chrome浏览器中正常工作,并尝试调用localhost:8080 / eMusiscStore / productList; jsessionid = B16DF0DE6E0089AC5F7DBE356181BBB1 如果一切顺利,这应该在响应正文中返回productList。你不是在提及CRUD操作的类型吗?看起来它是一个@get方法。