您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Spring MVC:将请求属性绑定到控制器方法参数

Spring MVC:将请求属性绑定到控制器方法参数

好吧,我终于了解了模型的工作原理和@modelattribute用途。这是我的解决方案。

@Controller 
class MyController
{
    @modelattribute("user")
    public User getUser(HttpServletRequest request) 
    {
        return (User) request.getAttribute("user");
    }

    @RequestMapping(value = "someurl", method = RequestMethod.GET)
    public String HandleSomeUrl(@modelattribute("user") User user)  
    {
        // ... do some stuff
    }
}

getUser()标有@modelattribute注解的方法自动填充User user标有的所有参数@modelattribute。因此,当调用HandleSomeUrl方法时,调用看起来像MyController.HandleSomeUrl(MyController.getUser(request))。至少这是我的想象。很棒的事情是,用户也可以从JSP视图进行访问,而无需任何进一步的努力。

这确实解决了我的问题,但是我还有其他问题。我可以在这些地方放置这些@modelattribute方法,使它们对我所有的控制器都通用吗?我可以以某种方式从preHandle()拦截器的方法内部添加模型属性吗?

Java 2022/1/1 18:16:17 有497人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶