jsp两种注释区别,<%%>和<%!%>的区别

本文介绍了JSP中的两种注释类型:HTML注释和JSP专有注释,并详细解释了它们的特点及应用场景。同时,还对比了&lt;%程序代码段%&gt;与&lt;%!程序代码段%&gt;的区别。
 

jsp两种注释区别,<%%>和<%!%>的区别

分类: java基础知识   4098人阅读  评论(0)  收藏  举报

JSP注释常用的有两种:HTML注释和隐藏注释(JSP专有注释)

HTML注释

注释说明:能在客户端显示的一个注释,标记内的所有JSP脚本元素、指令和动作正常执行,也就是说编译器会扫描注释内的代码

HTML语法:<!注释-->

语法示例

1

<!这段注释显示在客户端的浏览器页面中 -->

在客户端的HTML源代码中产生和上面一样的数据;

2

<!这个页面加载于 <%= (new java.util.Date()).toString()%> -->

在客户端的HTML源代码中显示为:

<!--这个页面加载于Sat May 08 19:51:56 CST 2010 -->

小结:可以在注释中使用任何有效的JSP表达式。表达式是动态的,当用户第一次调用该页面或该页面后来被重新调用时,该表达式将被重新赋值JSP引擎对HTML注释中的表达式执行完后,其执行的结果将代替JSP语句。然后该结果和HTML注释中的其它内容一起输出到客户端。在客户端的浏览器中,浏览者可通过查看源文件的方法看到该注释。

 

隐藏注释(JSP注释)

注释说明用隐藏注释标记的字符会在JSP编译时被忽略掉,标记内的所有JSP脚本元素、指令和动作都将不起作用也就是说,JSP编译器不会对注释符之间的任何语句进行编译,其中的任何代码都不会显示在客户端浏览器的任何位置

JSP语法<%--注释 --%>

注释示例:

<%@ page language="java" %>

<html>

<head><title>注释测试</title></head>

<body>

<h2>注释测试</h2>

<%--在页面源代码中,这个注释是看不见的 --%>

</body>

</html>

小结:JSP引擎对JSP注释不作任何处理JSP注释既不发送到客户端,也不在客户端的JSP页面中显示。在客户端查看源文件时也看不到。因此,如果只想在JSP页面源程序中写文档说明时,JSP注释是很有用的。

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

<%程序代码段%>为JSP里的Scriptlet语法

位于Scriptlet里的代码放到由JSP转为Servlet里的_jspServlet方法里的函数里

 

<%! 程序代码段%>为JSP里的Declaration语法

位于Declaration里的代码放到由JSP转为Servlet里的成员变量里


<%@ page import="util.DbConnet" %> <%@ page import="java.sql.ResultSet" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% //获取用户输入的查询内容 String appliance_id = request.getParameter("appliance_id"); if(appliance_id==null) appliance_id=""; String appliance_type = request.getParameter("appliance_type"); if(appliance_type==null) appliance_type=""; String appliance_name = request.getParameter("appliance_name"); if(appliance_name==null) appliance_name=""; //1.数据总数 String sql = "select count(*) as total from `living_room_appliances` " + "where `appliance_id` like ? and `appliance_type` like ? and `appliance_name` like ?;"; Object[] params = new Object[]{ "%"+appliance_id+"%","%"+appliance_type+"%","%"+appliance_name+"%" }; ResultSet rs = DbConnet.select(sql, params); rs.next(); int total = rs.getInt("total"); //2.每页显示的行数 int pageSize = 5; //3.总页数 double result = (double)total/pageSize; //向上取整:只要数值带有有效的小数,舍去小数,整数位加一 int pageTotal = (int) Math.ceil(result); //4.当前页码 String pageNoStr = request.getParameter("pageNo"); pageNoStr = pageNoStr==null?"1":pageNoStr; int pageNo = Integer.parseInt(pageNoStr); //获取用户表中的数据,显示出来 sql = "select * from `living_room_appliances` " + "where `appliance_id` like ? and `appliance_type` like ? and `appliance_name` like ?" + "limit ?,?;"; int start = (pageNo - 1) * pageSize;//(当前页码-1)*每页显示的行数 params = new Object[]{ "%"+appliance_id+"%","%"+appliance_type+"%","%"+appliance_name+"%",start,pageSize }; rs = DbConnet.select(sql, params); %> <html> <head> <title>用户列表</title> <link rel="stylesheet" href="../css/common.css"> <link rel="stylesheet" href="../css/list.css"> </head> <body> <%--搜索区域 S--%> <div class="search"> <form> <label for="appliance_id">账号:</label> <input type="text" id="appliance_id" name="appliance_id" value="<%=appliance_id%>"> <label for="appliance_type">姓名:</label> <input type="text" id="appliance_type" name="appliance_type" value="<%=appliance_type%>"> <label for="appliance_name">姓名:</label> <input type="text" id="appliance_name" name="appliance_name" value="<%=appliance_name%>"> <button id="btnSearch" class="primary" type="button">查询</button> <button id="btnReset" type="button">重置</button> </form> </div> <%--搜索区域 E--%> <%--按钮区域 S--%> <div class="btn-box"> <button id="btnAdd" class="primary" type="button">新增</button> </div> <%--按钮区域 E--%> <%--表格区域 S--%> <div class="table-box"> <table> <tr> <th>编号</th> <th>账号</th> <th>姓名</th> <th>操作</th> </tr> <% while (rs.next()){ %> <tr> <td><%=rs.getString("appliance_id")%></td> <td><%=rs.getString("appliance_type")%></td> <td><%=rs.getString("appliance_name")%></td> <td> <button data-id="<%=rs.getString("id")%>" name="btnEdit" class="primary" type="button">编辑</button> <button data-id="<%=rs.getString("id")%>" name="btnDelete" class="danger" type="button">删除</button> </td> </tr> <% } %> </table> </div> <%--表格区域 E--%> <%--页码区域 S--%> <%--<div class="pager">--%> <%-- <ul>--%> <%-- <li>共<%=total%>条数据/每页<%=pageSize%>条</li>--%> <%-- <% if(pageNo>1){%>--%> <%-- <li class="page"><a href="list.jsp?username=<%=username%>&realname=<%=realname%>&pageNo=1">首页</a></li>--%> <%-- <li class="page"><a href="list.jsp?username=<%=username%>&realname=<%=realname%>&appliance_name<%appliance_name%>&pageNo=<%=pageNo-1%>">上一页</a></li>--%> <%-- <% } %>--%> <%-- <%– <li class="active">1</li>–%>--%> <%-- <% for (int i=1;i<=pageTotal;i++){%>--%> <%-- <li class="<%=(pageNo==i?"active":"")%>" class="page">--%> <%-- <a href="list.jsp?username=<%=username%>&realname=<%=realname%>&pageNo=<%=i%>"><%=i%></a>--%> <%-- </li>--%> <%-- <% } %>--%> <%-- <% if(pageTotal>pageNo){%>--%> <%-- <li class="page"><a href="list.jsp?username=<%=username%>&realname=<%=realname%>&pageNo=<%=pageNo+1%>">下一页</a></li>--%> <%-- <li class="page"><a href="list.jsp?username=<%=username%>&realname=<%=realname%>&pageNo=<%=pageTotal%>">尾页</a></li>--%> <%-- <% } %>--%> <%-- </ul>--%> <%--</div>--%> <%--页码区域 E--%> <script src="../js/jquery-3.5.1.min.js"></script> <script src="../js/common.js"></script> <script> //绑定搜索按钮的点击事件 $('#btnSearch').on('click', function () { //获取搜索框中的内容:账号、姓名 let username = $('#username').val(); let realname = $('#realname').val(); window.location.href="list.jsp?username=" + username + "&realname=" + realname; }); //绑定重置按钮的点击事件 $('#btnReset').on('click', function () { window.location.href="list.jsp"; }); //绑定新增按钮的点击事件 $('#btnAdd').on('click', function () { window.location.href="add.jsp"; }); //绑定行内的编辑按钮点击事件 $('button[name=btnEdit]').on('click', function () { let id = $(this).attr('data-id');//从当前点击的按钮身上获取data-id的值 window.location.href = 'edit.jsp?id='+id; }); //绑定行内的删除按钮点击事件 $('button[name=btnDelete]').on('click', function () { if(confirm("确定要删除吗?")) { //获取删除按钮所在行的编号(id) let id = $(this).attr('data-id');//从当前点击的按钮身上获取data-id的值 //无刷新方式提交删除请求 postAction('/user/delete', {id: id}, function (res) { alert(res.msg); if (res.result) window.location.href = res.url; }); } }); </script> </body> </html> 请修改这些代码的错误
07-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值