JSP之基本语法

一,概述

jsp的语法说多不多,但对于自己这种记忆力不太好的人来说,记起来还是有点吃力的.当年为了记英语单词使用了抄的方法,现在就为了巩固技术,打好基础,写写博客其实是对自己来说是一种最适合的方式.好了,进入正题吧!

二,JSP语法

1)jsp模板

jsp页面中的html代码就是jsp的模板.

2)jsp脚本

语法:<% Java代码 %>

作用:执行Java代码

原理:把脚本中的代码原封不动的拷贝到_jspService()方法中运行.(不知道这个方法的,可以查看我这篇博客JSP的执行过程及生命周期)

示例:

<%
  	String name="bighuan";
  	int a=30;
  	int b=45;
%>

3)jsp表达式

语法:<%=变量或表达式 %>

作用:向浏览器输出变量的值或者是表达式计算的结果.

注意:表达式的结果就是翻译成out.print("变量");通过该方法向浏览器输出内容;表达式后面不需要分号.

示例(变量在上个示例定义了):

<%=name %>
<%=(a+b) %>
输出结果就是:bighuan 75

4)jsp的声明

语法:<%! 变量或者是方法 %>

作用:声明jsp的变量或者是方法

注意:变量翻译成成员变量,方法翻译成成员方法.

示例:

<%!
  	//变量会被翻译成成员变量
  	String username="bighuan";
  		
  	//方法会被翻译成成员方法
  	public String getName(){
  		return username;
  	}
  			
  	/*
  	//jsp声明中不能重复定义一些翻译好的一些方法,比如这个jsp生命周期中初始化的方法,方法一样就会报重复的错误.切记!
  	public void _jspInit() {
  				
  	}
  	*/
  		%>

5)jsp注释

语法:<%--  注释内容  --%>

注意:在jsp中html的注释会被翻译和执行,而jsp的注释不会翻译和执行.建议jsp页面中只用jsp注释.

示例:

 <!--  <jsp:forward page="/hello.jsp"></jsp:forward>  -->

上面这行代码在jsp页面中依然会执行,测试一下,发现跳转了页面.而下面这种方式就不会执行:

<%--    jsp注释
  	<jsp:forward page="/01.hello.jsp"></jsp:forward>
 --%>
当然了,在jsp脚本 声明 注释等中都可以使用Java的注释,如:

<%
  	int age=12;
  	//jsp脚本内不能写方法,不然就会成为方法中的方法,
  	/*这是错误的*/
  	/**dfjlsdf*/
%>

三,JSP的三大指令

1)include指令

作用:在当前页面包含其他页面,可以有效减少当前页面的代码量.

语法:<%@include file="common/header.jsp"%>

注意:a.原理是被包含的页面(header.jsp)的内容翻译到包含页面(home.jsp)中,合并成一个jsp文件然后在翻译成一个Java文件,再编译运行.这种包含叫静态包含(源码包含).

        b.如果使用静态包含,被包含页面中不需要出现全局的html标签了,比如:html head body等等.

2)page指令

作用:告诉tomcat服务器如何翻译jsp文件

贴代码:

<%@ page 
	language="java"   --告诉服务器使用什么动态语言来翻译jsp文件
	import="java.util.*" --告诉服务器java文件使用什么包,导入包,多个包之间用逗号分割
	pageEncoding="utf-8"  --告诉服务器使用什么编码翻译jsp文件(成java文件)
	contentType="text/html; charset=utf-8" 服务器发送浏览器的数据类型和内容编码
                注意:在开发工具中,以后只需要设置pageEncoding即可解决中文乱码问题
	errorPage="error.jsp"--指定当前jsp页面的错误处理界面
	isErrorPage="false"--指定当前页面是否为错误处理页面,默认false。false,不是错误处理页面,则不能使用
	buffer="8kb" --jsp页面的缓存区大小
	session="true"--是否开启session功能.默认为true.若为false,则不能使用session内置对象
	isELIgnored="false" --是否忽略EL表达式
	%>
对于错误页面,可以在web.xml文件中配置全局的错误处理界面:

 <!-- 全局错误处理界面设置 -->
  <error-page>
  		<error-code>500</error-code>
  		<location>/common/500.jsp</location>
  </error-page>
  <error-page>
  		<error-code>404</error-code>
  		<location>/common/404.html</location>
  </error-page>
全局的错误处理界面的优先级要低于通过errorPage="true"配置的错误处理界面.

3)taglib指令

taglib指令主要用于引入标签库以及自定义标签的前缀

语法:<%@taglib uri="tld文件的uri名称" prefix="简写" %>,导入jsp核心标签库,示例如下:

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

uri和prefix是参照Java EE 5 Libraries-->jstl-1.2.jar-->META-INF-->c.tld里面的内容写的:

  <short-name>c</short-name>
  <uri>http://java.sun.com/jsp/jstl/core</uri>

四,总结

好了,jsp的基本知识点就这些了(当然不止了,但我就写了这么多).后面会加一篇博客关于jsp的核心标签库,敬请期待吧!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值