首页 > 解决方案 > 如何使用 JSTL 动态插入 html 代码?

问题描述

我正在学习[JSTL]并停留在一个String包含 HTML 代码的地方。

以下是我正在编写的代码和我正在实现的结果。

<c:set var = "str" scope = "session" value = "<div><b>Hello</b></div>"/>  
<c:out value="${str}"></c:out>

输出是:

<div><b>Hello</b></div>

但是,我想要的实际输出是:你好

在我的 [JSP] 中使用 java 代码时,我正在实现此输出。JSP由于在页面中编写 java 代码不是一个好习惯,因此JSTL需要。

更新:我正在探索JSTL并发现了一个叫做escapeXml的东西。此属性可用于<c:out>使用 HTML/XML 内容。

这是一个例子:

<c:set var = "str" scope = "session" value = "<div><b>Hello</b></div>"/>
<c:out value="${str}" escapeXml="false"/>

有了这个,我能够达到预期的结果。

标签: htmljspjstl

解决方案


首先下载/实现库 Taglibs

然后在 *.jsp 页面的开头进行简单的导入。

  • <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

然后你就可以导入文件了

  • <c:import url="./mypage.jsp" var="cPage" charEncoding="UTF-8"/>

绝对链接,可能是 hostet html 文件:

  • <c:import url="www.w3schools.org/index.html" var="cPage" charEncoding="UTF-8"/>

'cPage' 是返回的字符串

之后使用 var

  • <c:out value="${cPage}" escapeXml="false"/>

推荐阅读