jsp学习之第二季

来源:互联网 发布:100内素数之和 java 编辑:程序博客网 时间:2024/04/29 16:57

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
原创粉丝点击