0

下面是我的示例控制器。

@RequestMapping(value = "/validate", method = RequestMethod.POST)
public String validatePage1 (@ModelAttribute("page1")
                        Page1 pg1, BindingResult result) {

    System.out.println("Value1:" + pg1.getVal1() + 
                "Value2:" + pg1.getVal2());

    return "page2"; // I don't want to take any action (page navigation) here
}

@RequestMapping("/page1")
public ModelAndView pageShow() {

    return new ModelAndView("page1", "command", new Page1());
}

现在的问题是,当Spring框架调用方法(validatePage1)时,我不想在客户端采取任何行动,怎么办?

实际上,我在加载时已经在客户端加载了所有必需的页面(以避免重复加载页面),所以我不想在客户端进行任何页面导航操作,我只想做“数据绑定”来完成我的服务器端的业务逻辑。

当我在“validatePage1()”中返回“”空字符串时,Spring 框架抛出异常“请求处理失败;嵌套异常是 org.apache.tiles.definition.NoSuchDefinitionException:” 因为我使用的是磁贴,所以我必须稍后删除磁贴配置因为我首先加载了所有文件。

4

2 回答 2

6

您可以按照此处的建议将方法设置为返回void并使用 进行注释。无需处理之类的。@ResponseBodyHttpServletResponse

于 2014-01-07T14:14:33.597 回答
3

直接来自文档

支持的方法返回类型

以下是支持的返回类型:

[...]

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

于 2012-12-08T19:33:29.520 回答