jsp学习之第二季

5 篇文章 0 订阅
5 篇文章 0 订阅

jsp语法

jsp语法:

脚本程序

脚本程序可以包含任意量的java语句,变量,方法或表达式,只要它们在脚本语言中是有效的。

脚本语句的语法格式:

<% 代码片段%>
或者,您也可以编写与其等价的XML语句,就像下面这样:
<jsp:scriptlet>
     代码片段
</jsp:scriptlet>

任何文本,HTML标签,JSP元素必须写在脚本程序的外面。

如下所示:

源码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<!-- 这是一个文本 -->
	Hello World!
	<!-- 这是一个html标签 -->
	<br />
	<!-- 这是jsp脚本程序 -->
	<!-- 在写脚本程序时,记住要把所有的文本,HTML标签,JSP元素写在脚本程序的外面 -->
	<%
		out.println("You IP address is " + request.getRemoteAddr());
	%>
</body>
</html>

运行结果截图



如何处理中文乱码问题

解决方法如果我们要在页面正常的显示中文,我们需要在jsp文件的头部添加以下代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>

JSP声明

一个声明语句可以声明一个或多个变量,方法,给后面的java代码使用。在jsp文件中,您必须先声明这些变量和方法然后才能使用他们。

JSP声明的语法格式:

<%! declaration;[ declaration;]+ ...%>
当然我们也可以编写与其等价的XML代码。如下:
<jsp:declaration>
      代码片段
</jsp:declaration>
程序演示:
	<%!int i = 0;%>
	<%!int a, b, c;%>
	<%!Circle a1 = new Circle(2.0);%>

java表达式

  1. 一个JSP表达式中包含的脚本语言表达式,先被转化成String,然后插入到表达式出现的地方。
  2. 由于表达式的值会被转化成String,所以您可以在一个文本行中使用表达式而不用去管它是否是HTML标签。
  3. 表达式元素中可以包含任何符合Java语言规范的表达式,但是不能使用分号来结束表达式。

JSP表达式的语法格式:

<%=表达式%>
程序实例:

<%@page import="java.util.Date"%>
<%@page import="javafx.scene.shape.Circle"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>jsp语法程序</title>
</head>
<body>
	<p>
		今天的日期是:<%=(new Date()).toLocaleString()%>
	</p>
</body>
</html>
运行结果:


注释的语法规则

注释
语法描述
<%--注释--%>JSP注释,注释内容不会被发送至浏览器甚至不会被编译
<!--注释-->HTML注释,通过浏览器查看网页源代码时可以看见注释内容
<\%代表静态 <%常量
%\>代表静态 %> 常量
\'在属性中使用的单引号
\"在属性中使用的双引号
















JSP指令

       JSP指令用来设置与整个JSP页面相关的属性。

       JSP指令语法格式:

<%@ directive attribute="value" %>

下面介绍三种指令标签

指令描述
<%@ page ... %>定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等
<%@ include ... %>包含其他文件
<%@ taglib ... %>引入标签库的定义,可以是自定义标签

JSP行为:

      JSP行为标签使用XML语法结构来控制servlet引擎。它能够动态插入一个文件,重用JavaBean组件,引导用户去另一个页面,为Java插件产生相关的HTML等等。

行为标签只有一种语法格式,它严格遵守XML标准:

<jsp:action_name attribute="value" />

行为标签基本上是一些预先定义好的函数,( 详情略)
JSP隐含对象

对象描述
requestHttpServletRequest类的实例
responseHttpServletResponse类的实例
outPrintWriter类的实例,用于把结果输出至网页上
sessionHttpSession类的实例
applicationServletContext类的实例,与应用上下文有关
configServletConfig类的实例
pageContextPageContext类的实例,提供对JSP页面所有对象以及命名空间的访问
page类似于Java类中的this关键字
ExceptionException类的对象,代表发生错误的JSP页面中对应的异常对象

控制流语句

JSP提供对java语言的全面支持。您可以在JSP程序中使用JAVA API甚至建立JAVA代码块,包括判断语句和循环语句

判断语句:

if  ...  else 块  

源码分享
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>if ... else</title>
</head>
<body>
	<%!int day = 3;%>
	<h3>IF ... ELSE 实例</h3>
	<%
		if (day == 1 || day == 7) {
	%>
	今天是周末
	<%
		} else {
	%>今天不是周末<%
		}
	%>
</body>
</html>

运行结果:

switch  ..... case   块  .与  if  .... else  块有很大的不同,它使用out.println(),,并且整个都装在脚本程序的标签中

源码分享
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>switch .... case 实例</title>
</head>
<body>
	<h3>SWITCH ... CASE 实例</h3>
	<%!int day = 4;%>
	<%
		switch (day) {
		case 0:
			out.println("今天是星期天");
			break;
		case 1:
			out.println("今天是星期一");
			break;
		case 2:
			out.println("今天是星期二");
			break;
		case 3:
			out.println("今天是星期三");
			break;
		case 4:
			out.println("今天是星期四");
			break;
		case 5:
			out.println("今天是星期五");
			break;
		default:
			out.println("今天是星期六");
		}
	%>
</body>
</html>

运行结果:



循环语句

在JSP程序中可以使用JAVA的三个基本循环类型:  for   while    和   do.....while

for循环实例
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>for循环实例</title>
</head>
<body>
	<%!int count;%>
	<%
		for (count = 1; count < 9; count++) {
	%>
	我是第<%=count%>个
	<br />
	<%
		}
	%>
</body>
</html>

运行结果:


while循环演示:
do...while循环演示(略)

JSP 字面量

JSP语言定义了以下几个字面量:

    • 布尔值(boolean):true 和 false;
    • 整型(int):与 Java 中的一样;
    • 浮点型(float):与 Java 中的一样;
    • 字符串(string):以单引号或双引号开始和结束;
    • Null:null。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值