【问题标题】:Run JSTL code stored into database field运行存储在数据库字段中的 JSTL 代码
【发布时间】:2013-04-05 08:00:34
【问题描述】:

我想从存储到数据库中的字段生成动态页面。

如果我在将此代码打印到 JSP 页面时将 html 代码存储到数据库中,则该代码由导航器呈现。但是当我将 JSTL 代码存储到数据库中时,servlet 不会呈现此代码。

数据库中的字段<h1>Hello<c:out value="World"><c:/out></h1>

JSP 代码<c:out value="${module.content}">

导航器回复Hello

HTML 源代码<h1>Hello<c:out value="World"><c:/out></h1>

所以存储到数据库中的 JSTL 代码不会被 servlet 渲染。

是否有任何选项可以将 JSTL 代码存储到通过 servlet 呈现的数据库中?

提前致谢。

【问题讨论】:

  • 你为什么要这样做?请给我们您的背景。
  • 我正在用 Java 开发一个简单的 CMS,我想将“页面内容”(html 和 jstl)存储到数据库中,以便从所见即所得进行编辑。技术上下文是:EJB + JPA + Spring + Spring MVC

标签: java jsp servlets jstl render


【解决方案1】:

JSP 文件被“编译”并转换为 Java 类文件,因此 JSP 接收的每个值都只是数据,不能作为源代码的一部分添加。我认为你正在尝试做的是相当于这个:

String s=" a + b";
int a=1;
int b=1;
System.out.println("s"); //It won't show "2"

【讨论】:

  • 谢谢 Pablo,我知道我在做一些奇怪的事情,但我想知道是否有任何技巧可以重新运行 de JSP 代码 :) Saludos desde Barcelona ;)
  • 任何JSP文件被重新编译是当文件被修改并且Web容器检测到它时,但这绝对是错误的方法......如何将HTML模板保存在数据库中并在JSP接收之前处理它们他们?
猜你喜欢
  • 1970-01-01
  • 2014-11-16
  • 2011-01-31
  • 2014-11-30
  • 2012-06-08
  • 1970-01-01
  • 2012-06-20
  • 1970-01-01
  • 2010-09-21
相关资源
最近更新 更多