JSP学习之----JSP声明/JSP输出表达式/JSP脚本

1.JSP声明

JSP声明的语法格式如下:

<%! 声明部分 %>

下面通过一段代码介绍一下

<%@ page contentType="text/html; charset=UTF-8" language="java" errorPage=""%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>声明示例</title>
</head>
<!-- 下面是JSP声明部分 -->
<%!
	//声明一个整型变量
	public int count;

	//声明一个方法
	public String info() {
		return "hello";
	}%>
<body>
	<%
		//将count的值输出后再加1
		out.println(count++);
	%>
	<br />
	<%
		//输出info()方法的返回值
		out.println(info());
	%>
</body>
</html>

浏览器浏览页面时可看到正常输出count值,并且会输出hello的信息。

要点:JSP经过编译后通过JSP声明的变量和方法会对应到编译后的Servlet的成员变量和方法,所以JSP声明定义的变量和方法可以添加访问权限修饰符。但是切记不可使用abstract来修饰声明方法,因为抽象方法将导致JSP对应的Servlet变成抽象类,从而无法实例化。


2.JSP表达式

JSP输出表达式语法格式如下:

<%=表达式 %>

<%@ page contentType="text/html; charset=UTF-8" language="java" errorPage=""%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>声明示例</title>
</head>
<!-- 下面是JSP声明部分 -->
<%!
	//声明一个整型变量
	public int count;

	//声明一个方法
	public String info() {
		return "hello";
	}%>
<body>
	<!-- 使用表达式输出变量值 -->
	<%=count++%>
	<br />
	<%=info()%>
	<!-- 使用表达式输出方法返回值 -->
</body></html>

表达式的方法替代了上面out.println输出的语句。两者在浏览器页面中显示的完全一致。需要注意的是:表达式后不可有分号!


3.JSP脚本

JSP脚本语法格式如下:

<% Java代码 %>

<%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title> 小脚本测试 </title>
	<meta name="website" content="http://www.crazyit.org" />
</head>
<body>
<table bgcolor="#9999dd" border="1" width="300px">
<!-- Java脚本,这些脚本会对HTML的标签产生作用 -->
<%
for(int i = 0 ; i < 10 ; i++)
{
%>
	<!-- 上面的循环将控制<tr>标签循环 -->
	<tr>
		<td>循环值:</td>
		<td><%=i%></td>
	</tr>
<%
}
%>
<table>
</body>
</html>

上面代码在浏览器显示会显示10行表格,并且输出相应i的值。

要点:JSP脚本部分会转换成编译后的Servlet方法中的可执行性代码,但是Java语法中不允许方法里面定义方法,所以JSP脚本中不可以定义方法!


你可能感兴趣的:(java,html,jsp,servlet,XHTML,脚本)