JSP基本语法

JSP注释

JSP注释有两种类型,一种注释将会发送到客户端浏览器,语法格式如下:

<!--comment-->

如:

<!--这是一个注释,该注释可以在客户端看到-->

该注释可以在浏览器中通过查看HTML源码的方式看到,该类注释类似于普通的HTML注释。不同点在于,

注释中可以加入JSP表达式,来传递无法静态显示的信息,如:

<!--现在时间是 <%= (new java.util.Date()).toLocalString() %>-->

另外一种是不会在客户端浏览器显示的注释,语法格式如下:

<%--comment--%>

用法同上,这是这种注释不能再客户端浏览器查看。

JSP声明

用来定义JSP程序中需要使用的变量,方法等。语法格式如下:

<%!declaration%>

例如:

<%! int i; String c; %>
<%! int i = 2; %>
<%! public int sum(); %>

JSP表达式

语法格式如下:

<%=expression%>

例如:

圆周率: <%= Math.PI %>
当前时间: <%= (new java.util.Date()).toLocalString() %>

JSP程序段

Java程序段被包含在程序段内,其中也可以进行变量、方法等的声明。格式如下:

<% code fragment %>

例如我们第一个JSP程序中的

<%
String name = request.getParameter("NAME");
String sex = request.getParameter("SEX");
%>

JSP指令

page指令

page指令通常用于JSP页面顶端,用来定义JSP页面的全局属性,如编码,错误页面等。语法示例:

<%@ page language="java" import="java.util.*" contentType=text/html;charst=gb2312" %>

常用的设置属性如下:

  • language=”java”,用于声明脚本语言的种类,通常都是”java”。
  • import=” “,用于声明JSP页面中需要导入的包,其作用等同于Java程序中的import。注:该指令可以单条同时导入多个包,中间用逗号隔开。<%@ page import=”java.io.* ,java.util.*” %>。也可以分成多条包含。
  • session=”true|false”,用于指明session对象是否可用(session是JSP的一个内置对象),默认为true。
  • buffer=”none|8kb|sizekb”,用于指定输出缓冲。该值不为none时,意为需要输出缓冲,此时服务器不会直接输出内容到浏览器,而是等待缓存满或者脚本执行完毕才会输出显示。该设置默认值为8kb。
  • antoflush=”true|false”,指明缓存是否自动清除。默认为true,若手动设置为false,缓存溢出会抛出异常。
  • errorPage=”URL”,用于指定当前页面产生异常后,重定向的页面。
  • isErrorPage=”true|false”,用于指定当前页面可否用作其他页面的错误处理页面。默认值为false。

include指令

该指令用于在当前JSP页面包含一个文件,从而和当前页面组成一个整体文件。include中包含的文件会在页面编译时被引入。并且,被包含页面的任何一个部分发生变动,整个JSP页面都会重新编译。语法格式如下:

<%@ include file=" " %>

例如:

date.jsp

<% 
  Date date = new Date();
%>

<%=
  date.toString()   
%>

include.jsp

<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%>

<html>
  <head><title>JSP-welcome</title></head>
  <body>
    现在是:<%@ include file="date.jsp" %>
  </body>
</html>

需要注意的是,源文件和被包含文件中的变量和方法名不能发生冲突,因为它们最终是会生成同一个文件的,这样将会导致编译错误!

JSP动作指令

JSP动作指令可用来控制JSP容器的动作,可以动态插入文件,重用javaBean组件,导向另一个页面等。

JSP中有7种标准动作元素:

  • jsp:include
  • jsp:forward
  • jsp:plugin
  • jsp:param
  • jsp:useBean
  • jsp:getProperty
  • jsp:setProperty

jsp:include

格式用法:

<jsp:include page=" " />

例如:

<%@ page language="java" import="java.util.*" contentType="text/html; charset=gb2312" %>

<html>
 <head>
  <title>Include动作指令示例</title>
 </head>

 <body>
  <font size=2>
    现在是:<jsp:include page="date.jsp" />
  </font>
 </body>
</html> 

date.jsp:

<%@ page language="java" import="java.util.*" contentType="text/html; charset=gb2312" %>
<% 
  Date date = new Date();
%>

<%=
  date.toString()   
%>

上面说的include指令和这里的include动作指令的作用都是包含一个文件到当前页面。他们的区别是什么?

include指令包含的资源为静态的。被包含的资源和当前JSP页面是一个整体,资源相对路径的解析发生在当前页面被请求转换为Servlet时。

include动作指令可以对动态资源进行包含。当前页面和被包含的资源是两个独立的实体,在资源解析时,当前页面会对被包含的JSP页面发送请求,被包含的JSP页面对该请求对象进行处理,然后将处理结果返回。

关于这两者的区别,我们将会在下文中通过一个实验来说明。实验说明JSP中include指令和include动作指令的区别

jsp:forwrd

用来把当前页面重定向到另一个页面。将当前页面的请求转发给其他Web资源,同时用户看到的地址是当前页面地址,内容为重定向页面的内容。其语法格式如下:

<jsp:forward page="URL" />

其中URL也可以是一个表达式<%=expression%>。

例如:

<%@ page language="java" contentType="text/html;charset=gb2312"%>

<html>
  <head><title>JSP-welcome</title></head>
  <body>
    <jsp:forward page="login.jsp"/>
  </body>
</html>

将当前页面重定向到登录页面。

jsp:param

该动作指令可以作为其他动作指令的子标签,用来传递参数。语法格式如下:

<jsp:param name="" value="" />

比如配合<jsp:forward>使用如下,首先在forpage.jsp中将页面重定向到forpage1.jsp,并传入一个参数para1 = hello;

然后再在forpage1中将页面重定向到forpage2,再传入参数para2 = world:

forpage.jsp

<html>
  <head>
    <title>forward配合param示例1</title>
  </head>

  <body>
    <jsp:forward page="forpage1.jsp">
      <jsp:param name="para1" value="hello" />
    </jsp:forward>
  </body>
</html>

forpage1.jsp

<html>
  <head>
    <title>forward配合param示例2</title>
  </head>

  <body>
    <jsp:forward page="forpage2.jsp">
      <jsp:param name="para2" value="world" />
    </jsp:forward>
  </body>
</html>

forpage2.jsp:

<html>
  <head>
    <title>forward配合param示例3</title>
  </head>
  <body>
    para1 : <%=request.getParameter("para1")%><br>
    para2 : <%=request.getParameter("para2")%>
  </body>
</html>

这样在forpage2中就得到了前面两次传过来的参数para1和para2,页面将打印:

para1 : hello
para2 : world

jsp:plugin

下载一个插件到客户端,以便执行applet或bean。

jsp:useBean

jsp:getProperty

jsp:setProperty

以上三种通常都是和JavaBean配合使用的,后面结合JavaBean一起看。




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值