JSP原理笔记(二)

JSP脚本和指令的使用

 

JSP脚本元素:表达式,Scriptlet,声明

表达式的概念
    表达式是对数据的表示,系统将其作为一个值进行计算和
    显示
表达式在JSP页面中的表现形式
    <% = Java表达式 %>
Demo代码:

<%@page contentType="text/html; charset=utf-8" %>
<html>
<head>
<title>jsp表达式demo</title>
</head>
<body>
<h1>JSP表达式</h1>
<b>PI的值</b><%=Math.PI %><br>
<b>100,233中较大的值:</b><%=Math.max(100, 233) %>
<b>100,233中较小的值:</b><%=Math.min(100, 233) %>
<b>100+233的值</b><%=100+233 %>
   <b>(3+2)==5的值 :</b><%=(3+2)==5 %><br/>
    <b>(3+2)!=5的值 :</b><%=(3+2)!=5 %><br/>

</body>
</html>

Math类所在的包为什么不需要引入,因为Math所在的包是在java.lang中,凡是这个路径中的包都是系统自动引入的,不需要程序员手动import。
演示图片:

Scriptlet:  JSP Scriptlet就是在JSP页面里嵌入一段Java代码
JSP Scriptlet在JSP页面中的表现形式
    <% Java代码 %>

Demo代码:

<%@page contentType="text/html; charset=utf-8" %> <html> <head> <title>scriptlet演示页面</title>

</head> <body> <h1>打印九九乘法表</h1> <%--这是程序员注释,客户端是不可见的 --%> <!-- 这是页面注释,客户端可见 -->

<% for(int i=1;i<=9;i++) {  for(int j=1;j<=i;j++)  {   out.print(i+"*"+j+"="+i*j+"&nbsp;&nbsp;&nbsp;&nbsp");     }  out.println("<br>"); } %> </body> </html>

演示页面效果:

JSP 声明的概念
     JSP声明就是在JSP页面中声明Java方法或变量等
JSP声明在JSP页面中的表现形式
     < % ! Java 代码 %>

 Demo代码:

<%@page contentType="text/html; charset=utf-8"%>
<html>
<head>
<title>JSP声明学习页面</title>
</head>
<body>
<%!
public final String author="Nicolas";
public String getFamilyName(String name){
	 char fn=name.charAt(0);//获取第一个字符,当然前提是中文名
	return name+"的姓氏为:"+fn;
}
%>
<%
	String name1="赵云";
	String name2="尉迟恭";
	String name3="秦叔宝";
	out.print("<center>");
	out.print(getFamilyName(name1));
	out.print("<br>");
	out.print(getFamilyName(name2));
	out.print("<br>");
	out.print(getFamilyName(name3));
	out.print("<br>");
	out.println("页面作者是:"+"<font color=red size=5>"+author+"</font>");
	out.print("</center>");
%>
</body>
</html>


演示页面:

JSP指令包括:page,include,taglib。

JSP 指令的语法为:
 <%@ 指令名称 属性1="属性值1" 属性2="属性值2" … 属性n="属性值n"%>

page指令中有一个属性为errorPage,例如error="error.jsp",那么当前页面出错是会自动跳转到error.jsp"中。

可能出错页面errorTest.jsp代码:

<%@ page language = "Java" import="java.util.*" buffer = "8kb" 
errorPage="error.jsp" isErrorPage="false"%>
<html>
<head>
<title>错误友好提示测试页面</title></head>
<body>
这是一个错误指向测试页面!<hr>
<%
	int a=1;
	int b=0;//b不能作为除数,否则会出错
	out.print(a/b);
%>

</body>

</html>


错误提示友好页面error.jsp代码:

<%@page contentType="text/html; charset=utf-8" isErrorPage="true" %>
<html>
<head>
<title>
错误友好提示页面
</title>

</head>
<body>
<font size=6 color="red">出错了哦⊙﹏⊙b汗</font>
</body>
</html>


 

include 指令用于在运行时将 HTML文件或 JSP页面嵌入到另一个 JSP页面
include 指令语法
    <%@ include file = ”文件名” %>

演示页面includeDemo.jsp源代码:

<%@page contentType="text/html; charset=utf-8" %>
<html>
<head>
<title>include演示页面</title>
</head>
<%@include file="head.jsp" %>

<h1>
this is the original page 自己的页面哦
<hr>
</h1>
</html>
<%@include file="head.jsp" %>


head.jsp源代码:

<%@page contentType="text/html; charset=utf-8" %>
<html>
<head>
<title>include测试页面</title>
</head>
<body>
我是被include进去的页面哦,不相信的话,看页面源代码O(∩_∩)O哈哈~
</body>
</html>


预览结果:

Scriptlet JSP脚本段被转成Servlet中service方法体(直接拷贝,内容不变),scriptlet不能再去定义方法,因为方法不能嵌套定义。

其中定义的变亮会转译成局部变量,而且会在同一个方法体中。
 

 

 

 

 

 

 


 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值