关于 JSTL c:out 对 XML html 自动转义 转义的禁用

在servlet里设置了属性值 request.setAttribute("MENU", menu);

doPost()或者doGet()里做跳转:

代码

getServletConfig().getServletContext().getRequestDispatcher(
mainpage).forward(request, response);

在mainpage页面直接获取可以用 request.getAttribute("MENU");

若用JSTL代码为 <c:out value="${MENU}"></c:out>

MENU里面包含的 html 的特殊字符被自动转义 显示到页面

不想转义,解决方法如下:

-----------------------------------------

<c:outvalue="expression"default="expression"escapeXml="boolean"/>;


escapeXml属性也是可选的。

它控制当用<c:out>;标记输出诸如“<”、“>;”和“&”之类的字符

(在HTML和XML中具有特殊意义)时是否应该进行转义。

如果将escapeXml设置为true,则会自动将这些字符转换成相应的XML实体(此处提到的字符分别转换成&、&和&)。

--------------------------------------------

对于转义的禁用 :

设置 escapeXml属性为"false" 即可 代码如下:

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

你可能感兴趣的:(html,C++,c,xml,C#)