我想让视图知道什么控制器和什么动作被调用来生成它。事实上,我想要做这样的事情的观点:Spring MVC:将控制器+操作名称传递给视图的最佳方法是什么?
<script>
var controller = "${controllerName}";
var controllerAction = "${controllerAction}";
</script>
,并在以后包括.js文件,
<script src="/public/script.js"></script>
...在这个.js文件我想有机会获得两个变量:
if(controller == "UserController" && controllerAction == "Edit")
{
// ...
}
else
{
// ...
}
我的问题:什么是自动将这些控制器和动作名称传递给视图的最佳方式?
我的控制器扩展了一个抽象的“BaseController”,所以我想将这些变量添加到ModelAttribute的最佳位置就在那里。我会优先考虑具体的控制器,无法为这些变量添加。但是父控制器怎么知道孩子具体控制器的名字和动作的名字呢?
我可以检查在BaseController堆栈跟踪,但我真的不喜欢这种解决方案
你有一个更好的解决方案建议?
我将您的答案标记为解决方案,谢谢!大多数情况下,解析网址都会起到诀窍的作用!我还发现了一种使用拦截器和Spring 3.1自动传递这两个变量的方法(请参阅我的“下面的解决方案”)。 – electrotype 2012-02-08 12:52:26