2017-04-03 5 views
0

こんにちは、私のJSPページ内のボタンがコントローラメソッドにマッピングされていない理由を理解しようとしています。ボタンをクリックすると404が表示されません。コントローラメソッドへのマッピングが要求されていません

相続人

<a href="/aucConfirm/${newAuction.idauction}/start" >Start Auction</a> 

リンク - JSPは、このコントローラのメソッドは、 "newAuction" にオークションアイテムを追加します -

@RequestMapping(value = "/aucConfirm/{idauction}", method = RequestMethod.GET) 
    public String confirmAuction(@PathVariable(value = "idauction") int idauction, Model model, HttpServletRequest request) { 
     AuctionItem addAuction = (AuctionItem) aucRepository.findOne(idauction); 
     model.addAttribute("newAuction", addAuction); 
     model.addAttribute("startAction", addAuction.getIdauction() + "/start"); 
     return "aucConfirm"; 
    } 

これは、リンクがにマップする必要がありますコントローラのメソッドである -

@RequestMapping(value = "/aucConfirm/{idauction}/start", method = RequestMethod.GET) 
    public String startAuction(@PathVariable(value = "idauction") int idauction, RedirectAttributes redirect) { 
     AuctionItem addAuction = (AuctionItem) aucRepository.findOne(idauction); 

     List<Image> imageList = (List<Image>) imageRepository.findByidauction(idauction); 
     addAuction.setMainImage(imageList.get(0).getImagepath()); 
     addAuction.setActive(true); 
     aucRepository.save(addAuction); 
     return "listing"; 

    } 

リンクが正常に動作しているように見え、idauctionがWebブラウザに表示されますコントローラーにマッピングされます。

これは完全なHTML出力です:

<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <link href="/AuctionWebsite/resources/css/dropzone.css" rel="stylesheet"> 
     <title>Confirm</title> 
    </head> 
    <body id="product"> 
     <header> 






<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd"> 

<head> 
<link rel="stylesheet" type="text/css" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css"> 

<script type="text/javascript"> 
$(document).ready(function() { 
    $('dropdown-toggle').dropdown(); 
}); 
</script> 
</head> 
<body> 
<nav class="navbar navbar-default" role="navigation"> 
    <div class="container"> 
    <!-- Brand and toggle get grouped for better mobile display --> 
    <div class="navbar-header"> 
     <button type="button" class="navbar-toggle" data-toggle="collapse" data- target="#bs-example-navbar-collapse-1"> 
    <span class="sr-only">Toggle navigation</span> 
    <span class="icon-bar"></span> 
    <span class="icon-bar"></span> 
    <span class="icon-bar"></span> 
    </button> 
     <a class="navbar-brand" style="font-size: 40px " href="/AuctionWebsite/">NoBid</a> 
</div> 

<!-- Collect the nav links, forms, and other content for toggling --> 
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 
    <ul class="nav navbar-nav"> 
    <li class="active"><a href="/AuctionWebsite/">Home</a></li> 
    <li><a href="/AuctionWebsite/sell">Sell</a></li> 
    <li class="dropdown"> 
     <a href="#" class="dropdown-toggle" data-toggle="dropdown">Category <b class="caret"></b></a> 
     <ul class="dropdown-menu" role="menu"> 
     <li><a href="#">Electronics</a></li> 
     <li><a href="#">Fashion</a></li> 
     <li><a href="#">Home & Gardens</a></li> 
     <li><a href="#">Toys & Games</a></li> 
     <li><a href="#">Sports & Leisure</a></li> 
     </ul> 
    </li> 
    </ul> 
    <div class="col-sm-6 col-md-6"> 
    <form class="navbar-form navbar-left" > 
     <div class="form-group"> 
     <input type="text" class="form-control" placeholder="Search for an auction"> 
     </div> 
     <button type="submit" class="btn btn-default">Submit</button> 
    </form> 
    </div> 
    <ul class="nav navbar-nav navbar-right"> 



      <li><a href="/AuctionWebsite/login">Log out</a></li> 


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

     </header> 
     <div class="container"> 
      <div class="pb-center-column-inner"> 
       <h1>fffffffffffffffffffffffffffffffffffffffffffffffffffffff</h1> 
       <hr style="margin-top: 8px;"> 
       <div class="row" style="margin-top: -10px;"> 
        <div class="col-xs-6 col-sm-6 col-md-6"><h4>Auction ID: 55</h4></div> 
        <div class="col-xs-6 col-sm-6 col-md-6" style="text-align: right;"><h4>Seller: hazardaguess</h4></div> 
       </div> 
       <div class="center" style="text-align: left;"> 
        <div id="short_description_block"> 
         <h4>Details:</h4> 
         <table class="table-data-sheet"> 
          <tr> 
           <td>Item condition</td> 
           <td style="padding-left: 12px">New</td> 
          </tr> 
          <tr> 
           <td style="padding-top: 3px">End Time</td> 
           <td style="padding-left: 12px"></td> 
          </tr> 
          <tr> 
           <td style="padding-top: 3px">Minimum Price</td> 
           <td style="padding-left: 12px">£0.0</td> 
          </tr> 
          <tr> 
           <td style="padding-top: 3px">Category</td> 
           <td style="padding-left: 12px">Electronics</td> 
          </tr> 
          <tr> 
           <td style="padding-top: 3px">Returns</td> 
           <td style="padding-left: 12px">You can return</td> 
          </tr> 
          <tr> 
           <td style="padding-top: 3px">Description</td> 
           <td style="padding-left: 12px">f</td> 
          </tr> 
         </table> 
         <div class="col-sm-1 col-md-12" style="padding-top: 30px; padding-bottom: 10px"> 
          <form id="my-awesome-dropzone" class="dropzone" action="../aucConfirm/uploadFile/55" method="POST" enctype="multipart/form-data"> 
          <div> 
<input type="hidden" name="_csrf" value="944c58d1-33b3-425c-bd20-154b8a138058" /> 
</div></form> 
         </div> 
          <div class="col-sm-6" style="text-align: left;"> 
           <a href="/aucConfirm/55/start" >Start Auction</a> 
          </div> 
          <div class="col-sm-6" style="text-align: right;"> 
           <button type="button" class="btn btn-default btn-lg" style="border: 2px solid #FFD700"><a href="/aucConfirm/55/edit">Edit</a></button> 
           <button type="button" class="btn btn-default btn-lg" style="border: 2px solid #f44336;"><a href="/aucConfirm/55/cancel">Cancel</a></button> 
          </div> 
         </div> 
        </div> 
       </div> 


     <script src="/AuctionWebsite/resources/js/dropzone.js"/></script> 
      <script> 
       Dropzone.options.myAwesomeDropzone = { 
        maxFilesize: 4, 
        parallelUploads: 5, 
        acceptedFiles: "image/*", 
       } 
      </script> 
     </div> 
    </body> 
</html> 
+0

あなたのJSPから生成されたHTMLを見てみましたか?あなたの質問にそれを追加できますか?特に、リンク – checklist

+0

@checklist完全なHTMLが追加され、ボタンのリンクは最後に向かって – HazardAGuess

答えて

0

あなたはすでにあなたのconfirmAuctionコントローラメソッドで/start接尾辞を付けるされている、あなたは以下の通りであるJSP href、からそれを削除する必要があります。

<a href="/aucConfirm/${newAuction.idauction}" >Start Auction</a> 
+0

ありがとう、実際に何かにリンクしていないthatsは、問題を把握しようとしている – HazardAGuess

0

それは非常に簡単になり、パスの最初に2つのドットを追加し、今すぐ正しく指示します。とにかくすべての応答ありがとう。

<a href="../aucConfirm/${newAuction.idauction}/start" >Start Auction</a> 
関連する問題