springMVC,如何删除链接(href)

时间:2013-11-28 01:47:54

标签: java spring java-ee spring-mvc

package net.roseindia.controller;

import net.roseindia.service.ArticleService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;


@Controller
@RequestMapping("/articles")
public class DeleteController {
    @Autowired
      private ArticleService articleService;

      @RequestMapping(value="/delete")
      public String deleteService(@RequestParam("ID") final Integer ids) {
          System.out.println("hello");
          articleService.deleteService(ids);

          return "redirect:/articles";

      }

}

可能在这里~~~~~~~~~~~~~~~~~~~~~~

<td><a href="/articles/delete.do?ID=${article.articleId}">delete</a></td>

这个问题只是让我抓了很多。我想这可能是href的问题。控制器无法掌握href的链接

(第二次尝试)但似乎它也不能像这样工作

import net.roseindia.service.ArticleService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;


@Controller
@RequestMapping("/articles")
public class DeleteController {
    @Autowired
      private ArticleService articleService;

      @RequestMapping(value="/delete/{ID}")
      public String deleteService(@PathVariable("ID") final Integer ids) {
          System.out.println("hello");
          articleService.deleteService(ids);

          return "redirect:/articles";

      }

}

    td><a href="/articles/delete/${article.articleId}.html">delete</a></td> 

这是我的web.xml

 <?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<servlet>

<servlet-name>dispatcher</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>dispatcher</servlet-name>

<url-pattern>*.html</url-pattern>

</servlet-mapping>

<welcome-file-list>

<welcome-file>index.jsp</welcome-file>

</welcome-file-list>

</web-app>

Promble是

HTTP状态404 - /articles/delete/2.html


输入状态报告

消息/articles/delete/2.html

说明请求的资源不可用。

1 个答案:

答案 0 :(得分:1)

Http 404错误的原因是没有找到您的http请求的映射。从您的配置中可以看出您的控制器和请求映射未配置。

您需要使用以下内容配置调度程序

<servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/spring/servlet-context.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

然后在servlet-context.xml中,您需要按如下方式定义 component-scan 来扫描注释驱动的控制器:

<annotation-driven />
<context:component-scan base-package="net.roseindia.controller" />