html - 如何使用 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"/>
有了这个,我能够达到预期的结果。
解决方案
首先下载/实现库 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"/>
推荐阅读
- ruby-on-rails - 验证失败,因为验证存在不尊重 rails 5
- javascript - 即使存在,MongoDB Find函数也不会返回
- node.js - 使用 Microsoft Bot Framework 设置计时器
- python - Hsqldb 重命名具有相同父项的重复项
- r - How to summary statistics 2WA Post HOC?
- c++ - 为什么这个 for 循环条件不起作用?
- angular - 有什么方法可以在 Angular7 中将变量从一个组件更改为另一个组件?
- php - Scraping show infinte loop above php 7.0?
- android - How to save the value from intent to variable and pass it to webservice api?
- spring-websocket - Spring stomp websocket“不完整的帧,正在重置输入缓冲区......”