【发布时间】:2013-11-13 21:41:25
【问题描述】:
我的问题是关于 Spring MVC 的功能。
@RequestMapping("SOME_VALUE")
RETURN_TYPE NAME_OF_FUNCTION (PARAMS){
STATEMENTS;
}
有没有一种方式让 RETURN_TYPE 依赖于语句?
例如:当用户点击一个链接时,如果某个条件为真,我希望用户下载一个文件(即返回一个字节[])但如果它为假,我想向用户显示一个网页带有可能的选项(即 ModelAndView 对象)。
现在我知道它可以简单地在页面中使用 javascript 实现,但回到我最初的问题,Spring MVC 中有没有一种方法可以为我们提供更好的处理?
【问题讨论】:
-
只定义许多
@RequestMapping处理方法。 -
你能给我举个例子吗?我的理解是我可以有一个小的 java 脚本代码,我可以将请求委托给适当的映射。 IE 对于文件我会去 /files/ 而对于其他我会去 /pages/ ?这是你想说的吗?
-
为什么不直接将返回类型设为
Object? -
不知道这是可能的。我会试一试,然后告诉你进展如何。
-
一个方法不能有多种返回类型。话虽如此,有一些方法可以处理您所描述的内容。最好的方法很大程度上取决于情况的语义。例如,如果获取带有选项的页面是错误情况,那么异常处理可能是合适的。如果带有选项的网页可以被视为流程中的一个有条件的插页式步骤,那么我会使用更多的重定向方法。
标签: java spring spring-mvc