首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于标志的弹簧选择控制器

基于标志的弹簧选择控制器
EN

Stack Overflow用户
提问于 2013-04-10 03:13:13
回答 1查看 188关注 0票数 1

问题定义我有一个指向myapp/doStuff的链接

目前,我有一个Spring控制器来处理这个请求。说doStuffOld

然而,现在对于一个新的项目,我需要做以下的1。添加一个日期相关的标志- dateFlag (false如果date< 10-9月其他为真) 2。创建一个新的控制器doStuffNew 3。对于相同的url (myapp/doStuff),如果dateFlag是false,则需要使用doStuffOld,使用doStuffNew

在春天实现这一目标的最佳方法是什么。注意: URL动态地来自应用程序之外,不能被更改。

EN

回答 1

Stack Overflow用户

发布于 2013-04-10 03:19:36

你可以做请求转发

代码语言:javascript
运行
复制
boolean dateFlag = Boolean.getBoolean(request.getParameter("dateFlag")); //Get the dateFlag value in the `doStuff` handler method

if(dateFlag){
    request.getRequestDispatcher("doStuffOld").forward(request, response);
    return null;
}

myapp/doStuff处理程序中,您可以检查标志并将请求转发到new (doStuffOld),您可以使用参数选项。

另一种解决方案,如果使用了RequestMapping,并且您不希望旧的处理程序被称为doOldStuff

代码语言:javascript
运行
复制
@RequestMapping(value="doStuff", params="dateFlag=true")
public ModelAndView doStuff(HttpServletRequest request, HttpServletResponse response){
    ....
}

@RequestMapping(value="doStuff", params="dateFlag=false")
public ModelAndView doOldStuff(HttpServletRequest request, HttpServletResponse response){
    ....
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15916274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档