JSP技术开发--JSP语法

1、jsp的基本构成:

(1)jsp的指令标识

(2)html标记语言

(3)嵌入的java代码片段

(4)jsp表达式

<!--jsp的指令标识-->
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"% errorPage="error.jsp">
<!--html标记语言-->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	
	<!--嵌入的java代码-->
        <%
		String name="xiaokeai";
		Integer.parseInt(name);//将字符串转化为int型
	%>
        <!--jsp表达式-->
        今天是:<%=today%>
</body>
</html>

2、jsp指令标识:在客户端不可见,用于配置jsp文件转译相关参数

<%@ 指令名称 属性1=“属性值” 属性2=“属性值” ···%>

①page指令:页面指令,用于定义整个jsp页面范围有效的属性。

<%@ page attribute1="value1" attribute2="value2"%>

示例:

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><!-- 官方命名为c -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%@ page contentType="text/html; charset=UTF-8" errorPage="error.jsp" %>
	<%
		String name="QQ";
		Integer.parseInt(name);//将字符串转化为int型
	%>
</body>
</html>

error.jsp

<%@page language="java" import="java.util.*,javax.servlet.jsp.JspException" contentType="text/html; charset=UTF-8" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><!-- 官方命名为c -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%@page import="java.util.*" pageEncoding="utf-8" isErrorPage="ture" %>>
	出现错误如下所示:<%=exception.getMessage()%>>
</body>
</html>

②include指令:用于在jsp页面静态引入,在当前指令位置引入其他文件,如果被包含的文件中有可执行代码,则显示代码执行后的结果。

<%@ include file="文件的绝对路径或相对路径"%>

作用:引用外部文件,减少代码冗余。

特点:会将引入的jsp文件和当前jsp文件转译成一个java文件使用,在网页中显示转译后的效果。

file属性:指定被包含的文件,还属性不支持任何表达式,也不允许通过如下的方式传递参数。

<%@ include file="welcome.jsp?name=xiaokeai"%>

全局代码声明,局部代码调用:

局部代码块:<% java代码 %> 局部变量 书写麻烦,阅读困难

全局代码块:<% 全局代码 %>全局变量转译到对应的servlet

开发时,servlet进行请求逻辑处理,jsp进行页面转现

注意:静态引入jsp文件时不会单独转译成javaservler文件,当前文件和静态引入jsp文件不可使用java文件的同名变量。

③taglib指令:用于在页面中使用基本标识或自定义标识完成特殊功能。

<%@ taglib uri="tagURI" prefix="tagPrefix"%>

3、jsp的脚本标识

包含元素:声明标识、jsp表达式、脚本程序

作用:可用于除jsp要求以外任何位置,帮助快速获取变量和方法的返回值,作为数据响应返回给浏览器。

①jsp表达式(切记:表达式不可使用分号;)

格式:<%=变量或可以返回值的方法或java表达式 %>

注意:%与=之间不可以有空格

作用:jsp表达式在页面被转换时成servlet后,转换为out.print()方法

②声明标识

在jsp页面中可以声明变量和方法。

格式:<%! 声明变量或方法的代码%>

注意:%与!之间不可以有空格

运行代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><!-- 官方命名为c -->
<%!
    int num=0;
    synchronized void add(){
	num++;
    }
%>
<% add(); %>

<html>

<body>
	<center>
		你是第<%=num %>位访问者
	</center>
	
</body>
</html>

运行结果:

③脚本程序

脚本程序是在jsp页面中使用<% %>标记的形成一段java代码

注意:当变量所在的页面关闭后辈定义的变量会被销毁。

<% java代码 %>

脚本程序的应用:

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><!-- 官方命名为c -->
<%!
    int num=0;
    synchronized void add(){
	num++;
    }
	%>
<% add(); %>
<%int able=1;%>

<html>

<body>
	<center>
		你是第<%=num %>位访问者
	</center>
	<table>
		<%if(able==1){ %>
			<tr><td>欢迎登陆,教师</td></tr>
		<%}else if(able==2){%>
			<tr><td>欢迎登陆,学生</td></tr>
		<%} %>
	</table>
	
</body>
</html>

运行结果:

4、jsp的注释

(1)html注释

格式:<!-- 注释内容 -->

作用:注释内容在浏览器看不到,但是在查看html源代码时可以看到注释内容。

(2)jsp表达式注释

格式:<!-- comment<%=expression %> -->

作用:注释语句在jsp页面进行请求后,服务器能够识别注释中的jsp表达式,从而来执行该表达式,而对注释中的其他内容不做任何操作。当服务器将执行结果返回给客户端,客户端浏览器会识别该注释语句,所以被注释的内容不会显示在浏览器。

(3)隐藏注释

格式:<% -- 注释内容-- %>

作用:使用该方法的注释内容,不仅不会在客户端浏览时看到,而且在客户端html查看源代码也看不到,所以安全性比较高。

  (4) 脚本注释

①单行注释:

格式: //注释内容

作用:

②多行注释:

格式: /* 注释内容 */

作用:

③提示文档注释:

格式:/**

*

*/

5、动作标识

动作标识是在请求处理阶段按照在页面中出现的顺序被执行的,只有他们被执行的时候才会去实现自己所具有的的功能。

格式: <动作标识名称 属性1=“值1” 属性2=“值2”>

(1)<jsp:include>动作,动态引入

格式:<jsp:include page="被包含文件的路径" flush="true|false">

作用:用于对应当前页面包含的其他文件,这个文件可以是动态文件也可以是静态文件。

(2)<jsp:forward>

格式:<jsp:forward page="文件路径|表示路径的表达式">

作用:用来将请求转发到另外一个jsp、html或者相关的资源文件。

(3)<jsp:setProperty>

格式:<jsp:setProperty 

           name="Bean实例名"

          {

                 property="*"|

                 property="propertyName"

          }/>

(4)<jsp:getProperty>

作用:用于从指定的Bean中读取指定的属性值,并输出到页面中。

<jsp:gstProperty name="Bean实例名" property="propertyNae">

示例:

先创建一个book的javaBean文件,所谓的javaBean其实就是一个java的类,只不过是个术语而已。

book.java

/**
 * 
 */
package com.jc.bean;

/**
 * @author JC.Liu
 *
 * 2019年9月21日-下午4:09:32
 */
public class Book {
	private String bookName;
	private String author;
	private String category;
	private double price;
	public String getBookName() {
		return bookName;
	}
	public void setBookName(String bookName) {
		this.bookName=bookName;
	}
	public String getAuthor() {
		return author;
	}
	public void setAuthor(String author) {
		this.author = author;
	}
	public String getCategory() {
		return category;
	}
	public void setCategory(String category) {
		this.category = category;
	}
	public double getPrice() {
		return price;
	}
	public void setPrice(double price) {
		this.price = price;
	}
	
}

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><!-- 官方命名为c -->
<%!
		int num=0;
		synchronized void add(){
			num++;
		}
	%>
<% add(); %>
<%int able=1;%>

<html>

<body>
	<center>
		你是第<%=num %>位访问者
	</center>
	<table>
		<%if(able==1){ %>
			<tr><td>欢迎登陆,教师</td></tr>
		<%}else if(able==2){%>
			<tr><td>欢迎登陆,学生</td></tr>
		<%} %>
	</table>
	<!-- 实例化Book对象 -->
	<jsp:useBean id="book" class="com.jc.bean.Book"></jsp:useBean>
	<!-- 对book对象赋值 -->
	<jsp:setProperty property="bookName" name="book" value="java开发"/>
	<jsp:setProperty property="author" name="book" value="刘江川"/>
	<jsp:setProperty property="category" name="book" value="java开发图书"/>
	<jsp:setProperty property="price" name="book" value="123"/>
	<table align="center" border="1" cellpadding="1" width="350" height="100" border="green">
		<tr>
			<td align="center">图书名称:</td>
			<td align="center"><jsp:getProperty property="bookName" name="book"/></td>
		</tr>
		<tr>
			<td align="center">图书作者:</td>
			<td align="center"><jsp:getProperty property="author" name="book"/></td>
		</tr>
		<tr>
			<td align="center">图书类别:</td>
			<td align="center"><jsp:getProperty property="category" name="book"/></td>
		</tr>
		<tr>
			<td align="center">图书价格:</td>
			<td align="center"><jsp:getProperty property="price" name="book"/></td>
		</tr>
	</table>
</body>
</html>

运行结果:

(5)<jsp:fallback>

<jsp:fallback>是<jsp:plugin>的子标识,当使用<jsp:plugin>标识加载java小应用程序或JavaBean失败时,可通过<jsp:fallback>标识向用户输出提示信息。

(6)<jsp:plugin>

(7)<jsp:param>子标识

本次学习到此结束,欢迎各位关注交流。

发布了78 篇原创文章 · 获赞 5 · 访问量 8302

猜你喜欢

转载自blog.csdn.net/qq_36789311/article/details/101101518
今日推荐