Я хочу, чтобы представление знало, какой контроллер и какое действие было вызвано для его генерации. На самом деле, я хочу сделать что-то вроде этого в представлении:
<script>
var controller = "${controllerName}";
var controllerAction = "${controllerAction}";
</script>
и, позже, .js,
<script src="/public/script.js"></script>
... в этом .js я хочу иметь доступ к обеим переменным:
if(controller == "UserController" && controllerAction == "Edit")
{
// ...
}
else
{
// ...
}
Мой вопрос: как лучше всего автоматически передать эти имена контроллеров и действий в представление?
Мои контроллеры расширяют абстрактный "BaseController", поэтому я думаю, что лучшее место для добавления этих переменных в ModelAttribute было бы там. Я бы предпочел, чтобы конкретные контроллеры ничего не делали для добавления этих переменных. Но как родительский контроллер мог узнать имя дочернего конкретного контроллера и имя действия?
Я мог бы проверить StackTrace в BaseController, но мне не очень нравится это решение ...
У вас есть лучшее решение, чтобы предложить?