【发布时间】:2016-01-15 22:50:59
【问题描述】:
我正在尝试通过我的 jsp 文件打印一个字符串变量,这是我的代码:
<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.lang.*;"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<title>why are you not working</title>
<meta charset="utf-8" />
</head>
<body>
<%
String test = "<b><u>bold and underlined</u></b>";
%>
<c:set var="test1" value="<u>underlined</u>" />
<c:set var="test2" value="${test}" />
<c:out value="${test}" escapeXml="false" />
<c:out value="${test1}" escapeXml="false" />
<c:out value="${test2}" escapeXml="false" />
</body>
</html>
输出:
有没有办法使用 JSTL 打印 test 或 test2 ?正如您在上面的代码中看到的,我已经设法打印了变量 test1,但变量 test 或 test2 的页面上没有出现任何内容。
PS:为什么我要使用 JSTL ?因为它提供了一种评估 html 标签而不是转义它们的方法
【问题讨论】:
-
你是在通过一本十年前的 JSP 1.x 书来学习 JSP 吗?从 JSP 2.0 (2003!) 开始,您根本不需要
<c:out value="${test}" escapeXml="false" />。只需${test}就足够了。确保您使用最新的资源来学习 JSP。从我们的 wiki 页面开始:stackoverflow.com/tags/jsp/info