注释及Scriptlet

本章目标
掌握JSP中的注释操作
掌握JSP中的三种Scriptlet及使用

 

JSP注释
在JSP中支持两种注释的语法操作,一种是显式注释,这种注释客户端是允许看见的,另外一种是隐式注释,此种注释客户端是无法看见的。
显式注释语法:
<!-- 注释内容 -->
隐式注释语法:
格式一://注释,单行注释
格式二:/* 注释 */,多行注释
格式三:<%-- 注释 --%>,JSP注释

<%@ page language="java" import="java.util.*" pageEncoding="utf-8" %>
<%-- 标题:显式和隐式注释 --%>
<!-- 这个注释客户端可以看见 -->
<%-- JSP中的注释,客户端无法看见 --%>
<%
	//java中提供的单行注释,客户端是无法看见
	/*
		Java中提供的多行注释,客户端无法看见
	*/
 %>

效果图:

 

Scriptlet
在JSP中最重要的部分就是Scriptlet(脚本小程序),所有嵌入在HTML代码中的Java程序都必须使用Scriplet标记出来,在JSP中一共有三种Scritplet代码:
第一种:<%%>:在此Scriptlet中可以定义局部变量、编写语句
第二种:<%!%>:在此Scritplet中,可以定义全局变量、方法、类
第三种:<%=%>:用于输出一个变量或一个具体内容

 

 

第一种Scriptlet:<%%>

<%@ page language="java" import="java.util.*" pageEncoding="utf-8" %>
<%-- 标题:第一种scriptlet:<% %> --%>
<%
	int x=100;//定义局部变量
	String info="I am chaoyi";//定义局部变量
	out.print("<h3>x="+x+"</h3>");//编写语句
	out.print("<h3>info="+info+"</h3>");//编写语句
 %>

效果图:

 

 

第二种Scriptlet:<%!%>

<%@ page language="java" import="java.util.*" pageEncoding="utf-8" %>
<%-- 标题:第二种scriptlet:<%! %> --%>
<%!
	public static final String INFO="I am chaoyi";//定义全局常量
 %>
 <%!
 	public int add(int x,int y){//定义方法
 		return x+y;
 	}
  %>
  <%!
	class Person{//定义Person类
		private String name;//定义name属性
		private int age;//定义age属性
		public Person(String name,int age){//通过构造方法设置属性内容
			this.name=name;//为name属性赋值
			this.age=age;//为age属性赋值
		}
		public String toString(){//覆写toString方法
			return "name="+this.name+",age="+this.age;
		}
	}
   %>
   <%
   	out.print("<h3>INFO="+INFO+"</h3>");//输出全局常量
   	out.print("<h3>3 + 5 ="+add(3,5)+"</h3>");//调用方法
   	out.print("<h3>"+new Person("chaoyi",30)+"</h3>");//生成对象
    %>

 效果图:

第三种Scriptlet:<%=%>

<%@ page language="java" import="java.util.*" pageEncoding="utf-8" %>
<%-- 标题:第三种scriptlet:<%= %> --%>
<%
	String info="www.baidu.com";//定义局部变量
	int temp=30;//定义局部变量
 %>
 <h3>info=<%=info %></h3><%--使用表达式输出变量 --%>
 <h3>temp=<%=temp %></h3><%--使用表达式输出变量 --%>
 <h3>name=<%="chaoyi" %></h3><%--使用表达式输出变量 --%>

效果图:

 

使用 out.println() 输出

<%@ page language="java" import="java.util.*" pageEncoding="utf-8" %>
<%-- 标题:使用 out.println() 输出 --%>
<html>
	<head>
		<title>使用 out.println() 输出</title>
	</head>
	<body>
		<%
			int rows=10;//表格的行数
			int cols=10;//表格的列数
			out.println("<table border=\"1\" width=\"30%\">");//输出表格开始标签
			for(int x=0; x<rows; x++){//循环输出行标签
				out.println("<tr>");//输出行开始标签
				for(int y=0;y<cols;y++){//循环输出列标签
					out.println("<td>"+(x*y)+"</td>");//输出列标签
				}
				out.println("</tr>");//输出行结束标签
			}
			out.println("</table>");//输出表格结束标签
		 %>
	</body>
</html>

 效果图:

 

使用表达式输出

<%@ page language="java" import="java.util.*" pageEncoding="utf-8" %>
<%-- 标题:使用表达式输出--%>
<html>
	<head>
		<title>使用表达式输出</title>
	</head>
	<body>
		<table border="1" width="30%"><!-- 输出表格开始标签 -->
		<%
			int rows=10;//表格的行数
			int cols=10;//表格的列数
			for(int x=0; x<rows; x++){//循环输出行标签
		%>
				<tr><!-- 输出行开始标签 -->
		<%
				for(int y=0;y<cols;y++){//循环输出列标签
		%>
		
					<td><%=(x*y) %></td><!-- 输出列标签 -->
		<% 
				}
		%>
				</tr><!-- 输出行结束标签 -->
		<%
			}
		 %>
		 </table><!-- 输出表格结束标签 -->
	</body>
</html>

 效果图:

 

定义输入显示表格行数和列数的表单页

<html>
  <head>
    <title>定义输入显示表格行数和列数的表单页</title>
  </head>
  <body>
  <form action="demo7.jsp" method="post">
  	<table border="1" width="30%">
  		<tr>
  			<td>输入要显示表格的行数:</td>
  			<td><input type="text" name="row"></td>
  		</tr>
  		<tr>
  			<td>输入要显示表格的列数:</td>
  			<td><input type="text" name="col"></td>
  		</tr>
  		<tr>
  			<td colspan="2"><input type="submit" value="显示"><input type="reset" value="重置"></td>
  		</tr>
  	</table>
  </form>
  </body>
</html>

效果图:

 

处理表格的显示

<%@ page language="java" import="java.util.*" pageEncoding="utf-8" %>
<html>
	<head>
		<title>处理表格的显示</title>
	</head>
	<body>
		<table border="1" width="30%"><!-- 输出表格开始标签 -->
			<%
				int rows=0;//表格的行数
				int cols=0;//表格的列数
				try{
					//接收数据变为int型
					rows=Integer.parseInt(request.getParameter("row"));
					cols=Integer.parseInt(request.getParameter("col"));
				}catch(Exception e){}
					for(int x=0; x<rows; x++){//循环输出行标签
			%>
				<tr><!-- 输出行开始标签 -->
			<%
				for(int y=0; y<cols; y++){//循环输出列标签
			%>
				<td><%=(x*y) %></td><!-- 输出列标签 -->
			<%
				}
			 %>	
				</tr><!-- 输出行结束标签 -->
			<%	
					} 
			 %>
		</table><!-- 输出表格开始标签 -->
	</body>
</html>

 效果图:

 使用scriptlet标签

<%@ page language="java" import="java.util.*" pageEncoding="utf-8" %>
<%-- 标题:使用scriptlet标签 --%>
<jsp:scriptlet>
	String info="I am chaoyi! ";
</jsp:scriptlet>
<h2><%=info %></h2>

 效果图:

 

小结
在开发中隐式注释是不会发送到客户端上的;
在使用JSP中尽可能使用表达式输出的语法来取代out.println()
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值