【问题标题】:Can you change the text content of a JSP file by code (on the fly)您可以通过代码更改 JSP 文件的文本内容吗(即时)
【发布时间】:2018-10-29 16:06:26
【问题描述】:

假设我的 webapp 中有一个 jsp 页面。里面的代码显示了一些信息。

我可以使用 Rest Controller 更改此 jsp 中的代码(文本)吗?我想通过打开文件并更改其内容来动态替换其代码。

我想通过http请求更改文件内容:

"/api/change-jsp?newcontent=sometext&file=example.jsp"

--> 相应的休息控制器现在完成了他的工作。

这行得通吗?

Ps: 'newcontent=sometext' 包含 jsp 代码 (EL)

【问题讨论】:

  • Thymeleaf 带有片段和包含可能是您想要完成的一个很好的解决方案。

标签: java spring jsp


【解决方案1】:

它不起作用 - jsps 在应用程序启动时由 servlet 容器在运行时编译。 JSP 编译器不会期望 jsp 发生变化。

但是为什么首先要改变它呢?只需让 jsp 询问它需要的信息。

【讨论】:

  • 是的,让 jsp 请求信息有效,但信息只是数据。我想将新指令注入 jsp 并替换旧指令。但我想这不起作用
  • 在应用部署后更改jsp特定代码,而不关闭应用
  • 你说的是在运行时从请求中注入java代码吗?那肯定行不通(这也是一个非常糟糕的主意)。但是,EL 语句是数据,可以轻松地从动态源中获取字符串,而无需重新编译 jsp
  • 是在运行时注入 java 代码。但正如你所说,它不会起作用,所以谢谢你的澄清
猜你喜欢
  • 2013-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-08
  • 2014-04-14
  • 1970-01-01
  • 2011-03-07
  • 2017-06-29
相关资源
最近更新 更多