当前位置 : 主页 > 编程语言 > java >

从jsp访问Spring MVC DI bean

来源:互联网 收集:自由互联 发布时间:2021-06-25
在某些MVC框架中,如果要执行某些代码并渲染一些部分视图,则可以从视图中调用控制器操作.我不知道在 Spring MVC中做什么是正确的方法 我想要一套JSP模板.其中一些将是页面布局,其中一
在某些MVC框架中,如果要执行某些代码并渲染一些部分视图,则可以从视图中调用控制器操作.我不知道在 Spring MVC中做什么是正确的方法

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

问题是我不想在每个调用中设置所有这些对象.我的注册控制器只关心注册处理.那么现在我该如何做呢?如何从视图中调用DI bean或控制器来准备部分视图?还是应该创建一些映射?还是从完全错误的角度来解决这个问题?

Spring-MVC可以将应用程序上下文的bean公开到视图层,如果这是你想要做的.

例如,可以指示InternalResourceViewResolver公开上下文中的每个bean,或仅指定指定的.看看exposeContextBeansAsAttributes和exposedContextBeanNames的属性.

例如,假设您要将bean beanA和beanB暴露给您的JSP.您将在您的上下文中声明视图解析器:

<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 – 有什么区别?
网友评论