【问题标题】:Loading files from external context using Spring MVC使用 Spring MVC 从外部上下文加载文件
【发布时间】:2015-05-04 16:14:13
【问题描述】:

我在我的应用程序中使用 Spring MVC,我决定从中删除我的 JSP 文件并放入在 apache 中创建的另一个上下文中,我称之为静态。

使用纯 servlet 我可以将请求转发到 JSP 页面,如下所示:

getServletConfig().getServletContext().getContext("/static").getRequestDispatcher("/test.jsp").forward(request, response);

但是我如何使用 Spring MVC 配置此行为,当我在 RequestMapping 方法中返回字符串时,强制它在此静态上下文中查找 JSP?

【问题讨论】:

  • 这个我没试过,不过看来你应该可以写一个Springs ViewResolver接口的实现来做这个。让你的实现也实现 ServletContextAware,这看起来就像你有一个起点。看看 InternalResourceViewResolver - 它不会做你想要的开箱即用,但可能会给你一个前进的方向
  • 感谢您的回答,事实上我已经到了这一点,但是我没有在网络上找到一个很好的例子来适应,我期待一个更简单的解决方案,但是如果我这样做我会在这里发帖
  • 出于兴趣,为什么要将 JSP 文件移动到不同的上下文中?
  • 事实上我想把它放在我的罐子外面,这样我就可以在不接触罐子的情况下更新我的视图层,有没有更好的解决方案?
  • 我不确定这是否可行 - 我希望 jsp 必须部署到一个 servlet 容器,所以你最终不会不得不将它打包为一个 jar/war 吗?

标签: java spring jsp spring-mvc


【解决方案1】:

说实话,我认为这不是一个很好的上下文用法。如果您尝试提供静态文件,有更好的方法来实现这一点。但是上下文应该在它们之间是独立的。

【讨论】:

  • 问题是,至少当我搜索过它时,jsp 不能被视为简单的静态文件,因为如果你这样做,你将无法向前和其他 servlet 问题。您还有其他解决方案吗?
猜你喜欢
  • 2018-07-01
  • 2021-11-24
  • 1970-01-01
  • 2015-08-27
  • 1970-01-01
  • 1970-01-01
  • 2016-06-18
  • 2018-12-19
  • 1970-01-01
相关资源
最近更新 更多