Spring MVC 3.0 与 Apache Tiles - 一页中的多个表单

发布于 2024-11-25 00:16:50 字数 294 浏览 1 评论 0原文

我在我的项目中使用 spring mvc (3.0) 和 apachetiles。我在一个页面中有多个通过图块呈现的表单。

登录表单和搜索表单对于大多数页面来说都是通用的。图块定义中的“主体”不断变化。

因此,如下所示,在我的所有 mvc 控制器中,我必须在相应的模型中显式设置命令对象。 1. model.put("userBO", userBO); 2. model.put("searchBO", searchBO);

有没有办法可以将这部分代码移动到公共位置或全局控制器,这样我就不必在我编写的所有控制器中编写这两行?

I'm using spring mvc (3.0) with apache tiles in my project. I have multiple forms in a single page rendered through tiles.

The login form and search form are common to most pages. The “body” in the tile definition keeps changing.

So, as shown below, in all of my mvc controllers I have to explicitly set command object in the corresponding model.
1. model.put("userBO", userBO);
2. model.put("searchBO", searchBO);

Is there a way I can move this part of the code to a common place or a global controller, so that I don’t have to write these two lines in all the controllers that I write?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

云裳 2024-12-02 00:16:50

您可以使用拦截器在 postHandle 中执行此操作:

public class DefaultModelInterceptor extends HandlerInterceptorAdapter {

@Override
public void postHandle(final HttpServletRequest request, final HttpServletResponse response, final Object handler,
        final ModelAndView modelAndView) throws Exception {

    modelAndView.addObject("userBO", userBO);
    modelAndView.addObject("searchBO", searchBO);

    super.postHandle(request, response, handler, modelAndView);
    }
}

然后可以将其连接到您的 spring servlet 配置中:

<mvc:interceptors>
    <bean class="my.package.DefaultModelInterceptor"/>
</mvc:interceptors>

You can use an interceptor to do this in a postHandle:

public class DefaultModelInterceptor extends HandlerInterceptorAdapter {

@Override
public void postHandle(final HttpServletRequest request, final HttpServletResponse response, final Object handler,
        final ModelAndView modelAndView) throws Exception {

    modelAndView.addObject("userBO", userBO);
    modelAndView.addObject("searchBO", searchBO);

    super.postHandle(request, response, handler, modelAndView);
    }
}

This can then be wired in your spring servlet config:

<mvc:interceptors>
    <bean class="my.package.DefaultModelInterceptor"/>
</mvc:interceptors>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文