JSP基础语法

本文介绍了JSP的基本概念,包括JSP脚本、注释、操作指令、动作标签以及内置对象等内容,并详细阐述了如何在JSP页面中进行变量声明、执行脚本、使用表达式等关键操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.JSP脚本及注释

一个Jsp页面可由以下**5种元素**组合而成
  • HTML标签
  • Jsp标签,包括指令标签和动作标签
  • 变量和方法的声明
  • JSP的可执行脚本
  • JSP表达式

1.1 JSP的声明语句

在JSP页面中可以定义变量和方法,格式如下:
 <%!声明变量或方法%>

1.2 JSP的可执行脚本

可通过插入**可执行脚本**(Scriptlet)来完成指定的业务功能。
可执行脚本就是嵌在**<% ....%>标签**中的Java代码片段

1.3 JSP的表达式

JSp表达式用于向页面输出信息,格式如下:
<%=表达式%>
(1)主要用于以下几个方面:
向页面输出内容:如
 <%String userName="zhangsan";%>
    用户名:<%=userName%>
(2)生成动态的链接地址
    <%String path="detail.jsp";%>
    <a href="<%=path%>">详细内容</a>
(3)动态指定Form表单处理页面
    <%String action="detail.jsp";%>
    <form action="<%=action%>">
    .....
    </form>

1.4 JSP的注释语句

HTML注释 : <!--                  -->  
HTML注释会被发送到客户端,查看源码看得到
JSP引擎能够识别并执行包含在HTML注释中的JSp的表达式和可执行脚本

JSP注释:<%--           --%>      
包含在其中的JSP表达式和可执行脚本不会执行,注释内容不会被发送到客户端

脚本注释:与Java注释一样:单行注释、多行注释、提示文档注释

2.JSP的操作指令

JSP指令元素主要有三种:page指令、include指令和taglib指令。每个JSP指令都以<%@标签开始,以%>标签结束。
通用格式:
<%@指令名称  属性1=“属性值” 属性2=“属性值”.... %>

page指令    用于定义JSP文件中有效的属性
<%@ page
[ language="java" ]
[ extends="package.class" ]
[ import="{package.class | package.*}, ..." ]
[ session="true | false" ]
[ buffer="none | 8kb | sizekb" ]
[ autoFlush="true | false" ]
[ isThreadSafe="true | false" ]
[ info="text" ]
[ errorPage="relativeURL" ]
[ contentType="mimeType [ ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1" ]
[ isErrorPage="true | false" ]
%>
language="java"
声明脚本语言的种类,暂时只能用"java"

extends="package.class"
标明JSP编译时需要加入的Java Class的全名,但是得慎重的使用它,它会限制JSP的编译能力.

import="{package.class | package.* }, ..."
需要导入的Java包的列表,这些包就作用于程序段,表达式,以及声明。

下面的包在JSP编译时已经导入了,所以你就不需要再指明了:
java.lang.*
javax.servlet.*
javax.servlet.jsp.*
javax.servlet.http.*
session="true | false"
设定客户是否需要HTTP Session.(学过ASP的人,应该对它不陌生)如果它为true,那么Session是有用的。
如果它有false,那么你就不能使用session对象,以及定义了scope=session的<jsp:useBean>元素。这样的使用会导致错误.
缺省值是true.
buffer="none | 8kb | sizekb"
buffer的大小被out对象用于处理执行后的JSP对客户浏览器的输出。缺省值是8kb

autoFlush="true | false"
设置如果buffer溢出,是否需要强制输出,如果其值被定义为true(缺省值),输出正常,如果它被设置为false,如果这个buffer溢出,就会导致一个意外错误的发生.如果你把buffer设置为none,那么你就不能把autoFlush设置为false.

isThreadSafe="true | false"
设置Jsp文件是否能多线程使用。缺省值是true,也就是说,JSP能够同时处理多个用户的请求,如果设置为false,一个jsp只能一次处理一个请求

info="text"
一个文本在执行JSP将会被逐字加入JSP中,你能够使用Servlet.getServletInfo方法取回。

errorPage="relativeURL"
设置处理异常事件的JSP文件。

isErrorPage="true | false"
设置此页是否为出错页,如果被设置为true,你就能使用exception对象.

contentType="mimeType [ ;charset=characterSet ]" | "text/html;charset=ISO-8859-1"
设置MIME类型 。缺省MIME 类型是: text/html, 缺省字符集为 ISO-8859-1.

include指令   用于将另外一个文件文本、HTML文件或JSP文件插入到当前的JSP页面中。
    <%@include file="被包含文件的URL"%>
taglib指令 :
<%@taglib uri="URITOTagLibrary" prefix="tagPrefix" %>

3.JSP的动作标签

<jsp:include>动作标签负责把指定文件插入正在生成的页面
<jsp:include page="文件的URL" flush="true"/>
<jsp:forward>  负责把客户的请求重定向到另外的页面或Servlet中
<jsp:forward page={"文件的URL"|“<%=expression%>”}/>
<jsp:param> 负责传递一个或多个参数到指定的文件中
<jsp:param name="paramname" value="paramValue"/>

4.JSP的内置对象

**request response out session application config pageContext page exception
out**对象是类javax.servlet.jsp.JspWriter的实例,在web浏览器内输出信息

<%out.println("<h1>欢迎</h1>");%>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值