2

我有一个 extjs 4 表单,我正在发送信息以将其保存在数据库中我正在使用 spring security 和 spring mvc

所以在我提交函数的 extjs 表单中,我使用了这个 url

method:'POST', 
url: 'meeting/create.action',

在我的控制器上我用这个

    @RequestMapping(value = "/meeting/create.action", method = RequestMethod.POST)
    public void add(MeetingUI data) {
        System.out.println("In add post method");

        MeetingUI savedUser = service1.create(data);
        if (savedUser != null) {
            logger.debug(" Created Succesfully");
        } else {
            logger.debug("Error trying to create account.");
        }
    }

没有收到数据信息保存在数据库中为空和其他错误显示

HTTP Status 404 - /writeup/WEB-INF/meeting/create.jsp

我不希望 /meeting/create.action 与 spring security 集成我认为这是错误

请任何人有解决方案

4

1 回答 1

0

您的处理程序方法的返回类型为void. 阅读第 13.11.4 节。Spring MVC 文档中支持的处理程序方法参数和返回类型,您会看到

如果方法本身处理响应(通过直接编写响应内容,为此目的声明 ServletResponse / HttpServletResponse 类型的参数)或视图名称应该通过 RequestToViewNameTranslator 隐式确定(不在处理程序方法签名)。

唯一的Spring实现RequestToViewNameTranslatorDefaultRequestToViewNameTranslator

RequestToViewNameTranslator 简单地将传入请求的 URI 转换为视图名称。

在下面找到一些请求查看名称翻译的示例。

http://localhost:8080/gamecast/display.html-> 显示

这会将您的 URI 映射/meeting/create.actionmeeting/create. 然后我假设你有一些 ViewResolverjsp文件。这可能会在该路径前面/WEB-INF/加上..jsp/WEB-INF/meeting/create.jsp404

使您的方法返回视图名称的字符串或使其写入响应正文本身。

您的方法可能如下所示:

@RequestMapping(value = "/meeting/create.action", method = RequestMethod.POST)
public Stringadd(MeetingUI data) {
    System.out.println("In add post method");

    MeetingUI savedUser = service1.create(data);
    if (savedUser != null) {
        logger.debug(" Created Succesfully");
        return "success";
    } else {
        logger.debug("Error trying to create account.");
        return "error";
    }
}
于 2013-05-09T18:44:39.890 回答