Невозможно вызвать метод контроллера, используя запрос get в Spring MVC - PullRequest
0 голосов
/ 14 октября 2018

На самом деле я новичок в Java Spring MVC и в настоящее время застрял в очень простой проблеме. В основном я удаляю конкретную строку таблицы, но не могу вызвать метод контроллера Remove.

Мой check.jsp код таблицы

<table id="customers">
   <tr>
       <th>ID</th>
       <th>Name</th>
       <th>Contact</th>
       <th>Edit</th>
       <th>Delete</th>
   </tr>
   <c:forEach items="${persons}" var="p">
        <tr>
             <td>${p.id}</td>
             <td>${p.name}</td>
             <td>${p.contact}</td>
             <td ><a href="#">edit</a></td>
             <td><a href="<c:url value='/remove/${p.id}' />" >delete</a></td>
       </tr>
    </c:forEach>
</table> 

Мой testController.java код

@Controller
public class testController {
    @RequestMapping("/check")
    public ModelAndView getusers() 
    {
       ModelAndView mv=new ModelAndView("check");
       Session session=HibernateUtil.getSessionFactory().getCurrentSession();
       session.beginTransaction();
       List list=session.createQuery("from Person").list();
       mv.addObject("persons",list);
       session.getTransaction().commit();   
       mv.addObject("message","Welcome");
       return mv;
    }
    @RequestMapping(value = "/remove/{id}", method = RequestMethod.GET)
    public ModelAndView removePerson(@PathVariable("id") int id)
    {
       //System.out.println("It IS RUNNING");
       ModelAndView mv=new ModelAndView("check");
       Session session=HibernateUtil.getSessionFactory().getCurrentSession();
       session.beginTransaction();

       Person P;
       P = (Person)session.load(Person.class,id);   
       session.delete(P);
       session.flush();

       session.getTransaction().commit(); 

       return mv; 
    }
}

Это целый код класса testController, в котором getusers() метод работает отлично, в то время как removePerson() не работает, что дает HTTP Status 404 - Not Found ошибка

1 Ответ

0 голосов
/ 15 октября 2018

Потратив 1 день, я наконец понял, что в моем классе контроллеров нет проблем, основная проблема заключается в моих dispatcher-servlet.xml отображениях, в которых я изменил свой <prop key="check.htm">test</prop> на <prop key="/check/**">test</prop>, а метод removePerson()работает отлично.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...