在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:out value="expression" default="expression" escapeXml="boolean"/>;
escapeXml 属性也是可选的。
它控制当用 <c:out>; 标记输出诸如“<”、“>;”和“&”之类的字符
(在 HTML 和 XML 中具有特殊意义)时是否应该进行转义。
如果将 escapeXml 设置为 true,则会自动将这些字符转换成相应的 XML 实体(此处提到的字符分别转换成 &、& 和 &)。
--------------------------------------------
对于转义的禁用 :
设置 escapeXml属性为"false" 即可 代码如下:
<c:out value="${MENU}" escapeXml="false"></c:out>
================================================
jstl1.1引入了一个fn.tld的标签,用于处理字符,如获得字符length,substring,indexof,endWith,lowcase
实现截取字符串
如:
<c:set var="log.logTitle" value="做一个截取字符串长度的测试" > </c:set>
<c:choose>
<c:when test="${fn:length(log.logTitle) > 10}">
<c:out value="${fn:substring(log.logTitle, 0, 10)}......" />
</c:when>
<c:otherwise>
<c:out value="${log.logTitle}" />
</c:otherwise>
</c:choose>