2016-01-05 20 views
2

меня проблема с моей веб-приложение, когда я нажимаю «добавить в корзину» кнопки, например, в странице под названием Phone1.jsp, то появится сообщение об ошибке:Spring MVC - «POST» метод запроса не поддерживается

WARNING: Request method 'POST' not supported 

Что случилось с этим кодом? Я хочу, чтобы к веб-приложение перенаправляет меня /cart.html?(selecteditem)

PhoneController:

@Controller 
@RequestMapping("/phones") 
public class PhoneController { 

@RequestMapping(value="/phone1.html", method = RequestMethod.GET) 
public ModelAndView phone1Page(Model model) { 

    ModelAndView phone1 = new ModelAndView("Phone1"); 
    return phone1; 
} 

@RequestMapping(value="/phone2.html", method = RequestMethod.GET) 
public ModelAndView phone2Page(Model model) { 

    ModelAndView phone2 = new ModelAndView("Phone2"); 
    return phone2; 

} 



@RequestMapping(value="/cart.html", method = RequestMethod.POST) 
public ModelAndView addToCart(@RequestParam String selectedPhone, Model model) throws ClassNotFoundException, SQLException{ 


    if ("Phone1".equals(selectedPhone)) 
    { 
     something 
    } 

    else if ("Phone2".equals(selectedPhone)) 
    { 
     something 
    } 

    ModelAndView cart = new ModelAndView("Cart"); 
    return cart; 

} 

Phone1.jsp:

<form action="/OnlineShop/cart.html?selectedPhone=Phone1" method="post"> 
<div style="padding-right: 40px"> 
    <table border="1"> 
     <tr> 
      <td>Name</td> 
      <td>${name}</td> 
     </tr> 
     <tr> 
      <td>Company</td> 
      <td>${company}</td> 
     </tr> 
     <tr> 
      <td>Type</td> 
      <td>${type}</td> 
     </tr> 
     <tr> 
      <td>Price</td> 
      <td>${price}</td> 
     </tr> 
    </table> 
    <p> 

Phones.jsp:

<div align="center"> 
    <a href="http://localhost:8080/OnlineShop/phones/phone1.html"><img 
     src="C:\JAVAEE_PROJECTS\workspace\OnlineShop\src\com\damian\resources\iphone.png"></a> 
    <a href="http://localhost:8080/OnlineShop/phones/phone2.html"><img 
     src="C:\JAVAEE_PROJECTS\workspace\OnlineShop\src\com\damian\resources\nokialumia.png"></a> 
</div> 

ответ

4

Попробуйте изменить это:

<form action="/OnlineShop/cart.html?selectedPhone=Phone1" method="post"> 

При этом вы должны написать /phones:

<form action="/phones/cart.html?selectedPhone=Phone1" method="post"> 

Причина этого заключается в том, что вы настраиваете базовый путь с @RequestMapping("/phones") на уровне класса, а все остальные RequestMapping s просто добавить к этому.

+0

Спасибо @Abdelhak, это работает :) – dante

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