gpt4 book ai didi

java - 在 JSP 中 Autowiring Spring Beans 的最干净的方法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:28:57 27 4
gpt4 key购买 nike

我们目前正在向一个仅使用 JSP 而没有任何前端框架的旧 Web 应用程序添加一些新功能。我们最近添加了 Spring,我们希望在修改后的 JSP 中 Autowiring 我们的 bean,而不是重写所有内容以使用 SpringMVC、Struts2 或 Tapestry5。

我们按类型使用 Autowiring ,因此它会导致在 JSP 中获取一些类似这样的代码,同时之前获取 Web 应用程序上下文(如“wap”):

MyDao myDao = (MyDao) wap.getBeansOfType(MyDao.class).values().toArray()[0];

我们不希望使用这样的代码,而是像使用@Autowired 注释将我们的 bean 直接自动注入(inject)到我们的 JSP 中一样。

事实上,我们正在寻找将 bean 注入(inject) JSP 的最干净的方法。你用什么?

最佳答案

您可以使用 Spring 的 ContextExposingHttpServletRequest :

HttpServletRequest decorator that makes all Spring beans in a given WebApplicationContext accessible as request attributes, through lazy checking once an attribute gets accessed.

这需要您的 Controller 代码将原始的 HttpServletRequest 包装在 ContextExposingHttpServletRequest 中,然后将那个 转发给 JSP。它可以公开特定的命名 bean,也可以公开上下文中的每个 bean。

当然,这只是将问题从您的 JSP 转移到您的 Controller 代码,但这也许是一个更易于管理的问题。

关于java - 在 JSP 中 Autowiring Spring Beans 的最干净的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2139121/

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