gpt4 book ai didi

jsp - 从jsp访问Spring MVC DI bean

转载 作者:行者123 更新时间:2023-12-03 21:02:06 24 4
gpt4 key购买 nike

在某些 MVC 框架中,如果您希望执行一些代码并呈现一些局部 View ,您可以从 View 中调用 Controller 操作。我不确定在 Spring MVC 中执行此操作的正确方法是什么

我想要一组 JSP 模板。其中一些将是页面布局,其中一些将是小组件,如分页器、登录框、菜单、标签云等。这些组件中的每一个都需要一些 bean 或 Controller 操作来将一些数据设置到 ViewAndModel 中,以便 View 可以使用它.

问题是我不想在每次调用中设置所有这些对象。我的注册 Controller 只关心注册处理。那么现在我该怎么做呢?如何从 View 中调用 DI bean 或 Controller 来准备部分 View ?或者我应该创建一些映射?或者我是从完全错误的角度处理问题?

最佳答案

如果您希望这样做,Spring-MVC 可以将应用程序上下文的 bean 暴露给 View 层。

例如,InternalResourceViewResolver可以指示公开上下文中的每个 bean,或者只是指定的 bean。看看exposeContextBeansAsAttributesexposedContextBeanNames特性。

例如,假设您想公开 bean beanAbeanB到您的 JSP。您将在您的上下文中声明 View 解析器:

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="exposedContextBeanNames">
<list>
<value>beanA</value>
<value>beanB</value>
</list>
</property>
</bean>

或者,只公开每个 bean:
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="exposeContextBeansAsAttributes" value="true"/>
</bean>

这是否是一个好主意是另一个问题,但 Spring 确实为您提供了选择。

关于jsp - 从jsp访问Spring MVC DI bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2072101/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com