JSTL在输出时,能不能把HTML标记转一下

JSTL在输出时,能不能把HTML标记转一下,第1张

<c:out>有三个属性value,default,和escapeXml,其中的escapeXml默认值为true

<c:out value="<font color=red>xx</font>">就会页面上显示 <font color=red>xx</font>

<c:out value="<p>lighter</p>" escapeXml="false">就会显示"lighter"

是因为在JSP页面使用struts或者jstl标签,最终jsp页面都会转化成java代码来执行的,所有的输出都会转化成response.getWriter().write(String)。

response.getWriter().write(“<span>你好</span>”)。这样就会向前台输出<span>你好</span>,如果是标签的话,首先处理标签把标签转化成对应的字符串,最终还是以response.getWriter().write(String)方式输出的页面。如果你有了解自定义标签,你就理解这些标签是如何输出的了。

1、在后台定义一个Servlet或者Action,接收jsp的参数去数据库查询数据,返回List

2、将从数据库查询的数据放在request中,如request.setAttribute("studentList",studentList),输出到对应的jsp页面。

3、在jsp页面引入jstl标签,定义好一个html表格头

4、用jstl获取后台查询的数据,利用<c:foreach>标签循环输出到表格的<tr>中。

示例:

<%@ page language="java" contentType="text/html charset=UTF-8" pageEncoding="UTF-8"%>

<html>

<body>

    <table class="table table-bordered" >

<tr>

<th style="text-align:centerwidth:2%">序号</th>

<th style="text-align:centerwidth:5%">姓名</th>

<th style="text-align:centerwidth:6%">年龄</th>

</tr>

<c:forEach items="${studentList}" var="student" varStatus="status">

<tr>

    <td style="text-align:center">${status}</td>

    <td style="text-align:center">${student.username}</td>

    <td style="text-align:center">${student.age}</td>

</tr>

</c:forEach>

</table>

 </body>

</html>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7107843.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-01
下一篇 2023-04-01

发表评论

登录后才能评论

评论列表(0条)

保存