0

我是 Java Servlet 的新手。我在数据库中放了一个文本,这是对课程的描述,带有可点击的 url。我通过连接池连接到数据库。它工作正常。我使用以下代码(荷兰语)。

<c:forEach items="${cursussen}" var="cursus"> //an arraylist of courses
 <tr>
   <td>
      <c:out value="${cursus.cursusNaam}" /></td> //course name
         <td><c:out value="${cursus.niveau}" /></td> //course level
         <td><c:out value="${cursus.beschrijving}" /></td> //course description with links
          </tr>
 </c:forEach>

链接将转换为 asci 字符。如何获取原始链接以使其仍然是可点击的 url?

4

1 回答 1

0

如果beschriving包含有效的 HTML 代码,并且您不担心任何 XSS 攻击,您只需禁用c:out标签的 XML 转义:

<c:out value="${cursus.beschrijving}" escapeXml="false" />

但这相当于更简单的

${cursus.beschrijving}

<c:out>精确地用于确保所有特殊的 HTML 字符 ( <, >, ", ', &) 都被转义。如果您不想要这个,则无需使用<c:out>标签。它有一个 escapeXml 属性只是因为在 EL 的第一个版本中,它只能在标签内使用,而不能直接在 JSP 代码中使用。

于 2012-07-28T14:23:18.350 回答