【发布时间】:2017-05-14 11:25:04
【问题描述】:
我正在尝试构建一个示例 mvc 项目,但我遇到了这个问题。当我调用 /products url 时,样式工作正常,但是当我尝试调用 /products/viewProducts/{productId} url 时,没有为此添加样式称呼。这是调用第二个网址时捕获的图像 Image2
请帮我找出我实际上做错了什么? 以下是项目详情。
错误详情
WARN PageNotFound:1147 - No mapping found for HTTP request with URI [/course-project/productsList/viewProduct/resources/js/bootstrap.min.js] in DispatcherServlet with name 'dispatcher'
调度程序-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<display-name>course-project</display-name>
<!-- Bootstraps the root web application context before servlet initialization -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- needed for ContextLoaderListener -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/dispatcher-servlet.xml
/WEB-INF/applicationContext.xml
</param-value>
</context-param>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Map all requests to the DispatcherServlet for handling -->
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:src="http://www.springframework.org/schema/mvc"
xmlns:cache="http://www.springframework.org/schema/cache"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/cache http://www.springframework.org/schema/mvc/cache.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
<context:component-scan base-package="com.pavan.mvc"/>
<mvc:annotation-driven/>
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>
<mvc:resources mapping="/resources/**" location="/WEB-INF/resources/"/>
<tx:annotation-driven/>
</beans>
HomeController.java
package com.pavan.mvc.controller;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
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.pavan.mvc.dao.ProductDao;
import com.pavan.mvc.model.Product;
@Controller
public class HomeController {
@Autowired
private ProductDao productDao;
@RequestMapping("/")
public String goHome(){
return "home";
}
@RequestMapping("/productsList")
public String getProducts(Model model){
List<Product> products = productDao.getAllProduct();
model.addAttribute("products", products);
return "productsList" ;
}
@RequestMapping("/form")
public String getForm(){
return "form" ;
}
@RequestMapping("/productsList/viewProduct/{productId}")
public String viewProduct(@PathVariable Long productId, Model model) throws IOException{
Product product = productDao.getProductById(productId);
model.addAttribute(product);
return "viewProducts";
}
}
productsList.jsp
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@include file="/WEB-INF/views/template/header.jsp"%>
<div class="container-wrapperr">
<div class="container">
<div class="page-header">
<h1>All Product</h1>
<p class="lead">Chechout all the awesome products available now</p>
</div>
<table class="table table-striped table-hover">
<thead>
<tr class="bg-sucess">
<th>Phto Thumb</th>
<th>Product Name</th>
<th>Category</th>
<th>Condition</th>
<th>Price</th>
<th></th>
</tr>
</thead>
<c:forEach items="${products }" var="product">
<tr>
<td><img src="#" alt="image" /></td>
<td>${product.productName}</td>
<td>${product.productCategory }</td>
<td>${product.productCondition }</td>
<td>${product.productPrice }</td>
<td><a
href="<spring:url value="/productsList/viewProduct/${product.productId}"/>">
<span class="glyphicon glyphicon-info-sign"></span>
</a></td>
</tr>
</c:forEach>
</table>
</div>
</div>
<%@include file="/WEB-INF/views/template/footer.jsp"%>
viewProducts.jsp
<%@taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@include file="/WEB-INF/views/template/header.jsp"%>
<div class="container-wrapperr">
<div class="container">
<div class="page-header">
<h1>Product Detail</h1>
<p class="lead">Here is the detail information of the product</p>
</div>
<div class="container">
<div class="row">
<div class="col-md-5">
<img src="#" alt="image" style = "width: 100% ; height: 100px"/>
</div>
<div class="col-md-5">
<h3>${product.productName}</h3>
<p>
<strong>Catogary</strong>: ${product.productCategory}
</p>
<p>
<strong>Condition</strong>: ${product.productCondition}
</p>
<p>
<strong>Product Price</strong>: ${product.productPrice}
</p>
</div>
</div>
</div>
</div>
</div>
<%@include file="/WEB-INF/views/template/footer.jsp"%>
【问题讨论】:
-
/course-project/productsList/viewProduct/resources/js/里面有bootstrap.min.js吗
-
您的 jsp 中似乎没有正确包含 css 文件。它应该包含 contextPath/
/css-file -
你的 js 文件的位置是什么?以及它包含在 jsp 中的什么位置?
-
像这样在项目中包含你的 js 文件。我面临同样的问题,然后我用谷歌搜索并找到了这样的解决方案: 跨度>
-
我在 WEB-INF/resources 文件夹中有所有的 css 和 js 文件
标签: java spring-mvc