2016-12-08 2 views
1

Вот код моего productdetails.jsp.I включил верхний и нижний колонтитулы как отдельный файл jsp. При попытке загрузить страницу изображения не отображаются. Проект является Maven project.The другие страницы в проекте работают правильноСтатус HTTP 404 запрашиваемый ресурс недоступен

Header.jsp

<title>Products|Phonaholic</title> 






<!DOCTYPE html> 

<html> 
<head> 
<title>Phonaholic</title> 
<meta charset="utf-8"> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"></script> 
</head> 

<body> 

<nav class="navbar navbar-default navbar-fixed-top" style="background-color:white;"> 

    <div class="container-fluid"> 
    <!-- Brand and toggle get grouped for better mobile display --> 
    <div class="navbar-header"> 
     <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#myNavbar" aria-expanded="false" style="margin-top:20px;"> 
     <span class="sr-only">Toggle navigation</span> 
     <span class="icon-bar" style="color:#1E7145"></span> 
     <span class="icon-bar" style="color:#1E7145"></span> 
     <span class="icon-bar" style="color:#1E7145"></span> 
     </button> 
     <a class="navbar-brand" href='/phonaholic/'><img class="img-responsive"  style="max-width:175px;margin-top:-3px;" src="images\Logomakr_2A1smS.png" /></a> 
    < /div> 


    <!-- Collect the nav links, forms, and other content for toggling --> 
    <div class="collapse navbar-collapse" id="myNavbar"> 
    <ul class="nav navbar-nav"> 
    <li><a href='/phonaholic/' id="navig">Home</a></li> 

     <li class="dropdown"> 
      <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" id="navig">Products<span class="caret" style="color: #1E7145"></span></a> 
      <ul class="dropdown-menu"> 
      <li><a href='/phonaholic/basic/'>Basic Phone</a></li> 
      <li><a href='/phonaholic/smart/'>Smart Phone</a></li> 
      <li><a href='/phonaholic/tab'>Tablets</a></li>    
      </ul> 
     </li> 

     <li><a href='/phonaholic/about/' id="navig">About</a></li> 
    <li><a href='/phonaholic/contact/' id="navig">Contact Us</a></li> 
</ul> 


    <ul class="nav navbar-nav navbar-right"> 
    <li><a href='/phonaholic/register/' id="navig"><i class="fa fa-user" >Register</i></a></li>  
    <li><a href='/phonaholic/login/' id="navig"><i class="fa fa-sign-in" >Login</i></a></li> 
    </ul> 


</div><!-- /.navbar-collapse --> 

</div><!-- /.container-fluid --> 

</nav> 

</body> 

</html> 

продукт details.jsp

var prod=  {"id":41,"name":"gjavsd","brand":"hasbsh","category":"bsha","desc":"ahbas","price":100.0}; 
angular.module("productApp",[]) 

.controller("productController",function($scope){ 

    $scope.prodData=prod; 

    $scope.sort=function(keyname){ 
    $scope.sortKey=keyname; 
    $scope.reverse=!$scope.reverse; 
    } 

}); 
</script> 

    <div class="container-fluid" ng-app="productApp" ng- controller="productController"><br><br><br><br><br> 
<input type="text" ng-model="search"> 
<table class="table table-hover"> 
    <thead> 
    <tr><th></th><th ng-click="sort('id')">Product ID</th><th ng-click="sort('name')">Product Name</th><th ng-click="sort('brand')">band</th><th ng-click="sort('category')">Category</th><th ng-click="sort('price')">Price</th> </tr> 
    </thead> 

    <tbody> 
    <tr ng-repeat="product in prodData | filter:search | orderBy:sortKey:reverse"><td><img src="images\{{product.id}}.jpg" style="max-width: 175px;max-height: 100px; "/></td><td>{{product.id}}</td><td>{{product.name}}</td><td>{{product.brand}}</td><td>{{product.category}}</td><td>{{product.price}}</td><td><button type="submit" class="button" onclick="productdetails/{{product.id}}">View</button></td></tr> 
    </tbody> 
</table> 




</div> 

controller.java

@RequestMapping("/productdetails/{id}") 
public ModelAndView ProductDetails(@PathVariable("id") int id) 
{ 
    Product products=productDAO.getProductById(id); 
    String productList=new Gson().toJson(products); 
    ModelAndView model=new ModelAndView("product"); 
    model.addObject("productList",productList); 
    return model; 

} 

Путь изображений, когда я нажимаю на источнике вид страницы

http://localhost:9080/phonaholic/productdetails/images/Logomakr_2A1smS.png

изображения не отображаются, так как изображение в URL

http://localhost:9080/phonaholic/images/Logomakr_2A1smS.png

Что я должен сделать, чтобы изменить URL-адрес для правильного отображения изображений.

Edit: Я нашел решение, я добавил

\ phonaholic \ Images \ Logomakr_2A1smS.png в IMG тег.

Но может ли кто-нибудь сказать мне, что происходит с этой страницей, где другие страницы работают нормально, не добавляя вышеуказанный \ phonaholic \ before URL-адрес изображения.

+1

Вы пробовали лидирующую косую черту на вашем пути src? 'src ="/images/Logomakr_2A1smS.png "' – steve

+0

Когда я добавляю «/», изображение не отображается. Путь, показанный для изображения, - http: // localhost: 9080/images/Logomakr_2A1smS.png, который является неправильным – Aswin

ответ

0

Я думаю, что это просто проблема пути в src. где ваш header.jsp? Я имею в виду это в папке productdetails?

+0

Он находится в папке шаблонов. Страницы jsp находятся в папке views. Другие страницы jsp работают отлично. Только эта страница вызывает проблемы. – Aswin

+0

попробуйте этот 'code 'rc =" /phonaholic/productdetails/images/Logomakr_2A1smS.png "' code', чтобы быть уверенным, что это не проблема. –

+0

Это работает. Но я хочу знать, почему это происходит эта страница только ... – Aswin

Смежные вопросы