jsp基本语法-----web应用与开发

16 篇文章 2 订阅

jsp基本语法

jsp页面的基本结构

定义变量

<%! %>   

表达式:变量、常量、表达式

<%= %>

代码块、程序段【jsp程序代码即jsp脚本】

<% %>

注释

隐藏注释

不会显示在客户的浏览器上,即jsp页面运行后页面上看不到注释内容。同时也不会出现在源文件中,即右击查看源文件也不会看到注释内容。

<%--注释语句--%>

java注释

与隐藏注释相似,不会显示在客户的浏览器上,同时也不会出现在源文件中。

<%/*注释语句*/%>
<%//注释语句%>

HTML注释

在发布网页的时看不到注释,可以在浏览器源文件窗口中看到注释。该类注释也可以使用jsp表达式,表达式是动态的,即根据表达式的值输出结果。

<!--注释语句[<%=表达式%>]-->

jsp指令

页面指令一般位于jsp页面的顶端,但可以放在jsp页面的任何位置。一个jsp页面可以有多个page指令,使用时其属性除import外只能使用一次。

page指令

<%@page ......%>
language属性

用于指定jsp页面中使用脚本的语言,默认值为java。

<%@page language="java"%>
import属性

用于导入jsp页面使用的java API类库。在一个jsp页面中,同时导入多个java包,可以逐一声明,也可以用逗号分隔。

session属性

用于指定是否可以使用session对象,默认为true。

autoFlush属性

用于指定jsp页面缓冲区是否自动刷新输出,默认值为true。

errorPage属性

用于指定错误页面。

contentType属性

用于指定内容MIME类型和jsp页面的编码方式。

pageEncoding属性

用于指定jsp页面的编码方式。

isErrorPage属性

用于指定jsp页面是否为处理异常错误的页面。

include指令

include指令用于在当前jsp页面中加载需要载入的文件代码,即为页面插入一个静态文件,如jsp页面、HTML页面、文本文件或一段java程序,这些载入的代码和原有的jsp代码合并成一个新的jsp文件。使用jsp的include指令有助于实现jsp页面模块化。
注意:该指令功能很死板!它是先包含后编译,如果在包含文件中和被包含文件中都有同名变量的定义(例如两文件中都定义了int a = 0;),那就会出现“重复的变量定义 ”的错误。Multiple annotations found at this line: - Duplicate local variable path - Duplicate local variable basePath

是先编译后包含,比较高级。它先把包含的文件编译好送到被包航文件中显示。另外,该指令还可以传递参数。

<%@include file="文件名"%>

taglib指令

taglib指令用来指定页面中使用的标签库以及自定义标签的前缀。

<%@taglib uri="标记库的存放位置" prefix="标记库中所有动作元素名中使用的前缀"%>

jsp动作

param动作

<jsp:param>动作可以用于<jsp:include><jsp:forward>动作体中,为其他动作传送一个或多个参数。

<jsp:param name="参数名" value="参数值">

name属性用于指定参数名称,不可以接受动态值;
value属性用于指定参数值,可以接受动态值。

include动作

<jsp:include>动作用于把指定文件动态的插入到正在生成的页面中。

<jsp:include page="文件名" flush="true">
<jsp:include page="文件名" flush="true">
	<jsp:param name="参数" value="参数值">
</jsp:include>

page属性用于指定所包含资源的相对路径,可以接受动态值;
flush属性用于指定包含目标资源之前是否刷新输出缓冲区,默认值为false,不可以接受动态值。

<jsp:include>动作允许接受静态文件和动态文件,两种文件包含的效果不同 。如果包含的文件的静态文件,那么这种包含只是把包含文件的内容添加到jsp文件中去,不会被jsp编译器执行;如果包含的文件是动态文件,那么该文件也会被jsp编译器执行。

include指令与include动作的区别:
include指令可以在jsp页面转换成Servlet之前,将jsp代码插入其中;
include动作是当前页面被请求时,将其他页面的输出包含进来;
根本不同在于被调用的时间,动作在页面请求期间被激活,指令在页面转化期间被激活。
指令比动作难易维护,但指令功能更强大,执行速度也更快。
指令中允许包含的文件含有影响主页面的jsp代码,如相应内容的设置与属性方法的定义。

useBean动作

<jsp:useBean>动作用于加载页面中使用到的javaBean,可以实现javaBean组件的重用。

id属性
用于指定实例名称,不可接受动态值。如果能找到已有的则使用已有的Bean实例而不创建新的。
scope属性
用于指定Bean的作用域,一个作用域内只能有一个id,可选作用域有page、request【Bean在当前用户的请求内有效】、session【Bean在当前HTTPSession内的所有页面都有效】、application【Bean在任何使用相同application的jsp页面中有效】,默认值是page。
class属性
指定Bean的类路径和类名,不可接受动态值。
type属性
用于指定引用该对象的类型,必须是Bean类的名字、超类名字、该类所实现的接口名字之一。变量的名字由id属性指定。
beanName属性
用于指定Bean的名字,可以接受动态值。必须type属性结合使用,不能与class属性同时使用。

setProperty动作

用于设置、修改已实例化Bean中的属性值

<jsp:setProperty name="Bean的名称" property="*"|property="属性"[param="属性"|value="值"]/>

name属性
name属性是必须的,表示要设置的属性是哪个Bean的,不可接受动态值。

property属性
property属性是必须的,表示要设置哪个属性。如果property的值是*,表示所有名字和Bean属性名字匹配的请求参数都将被传递给相应属性的set方法。

param属性
param属性是可选的,指定用那个请求参数作为Bean属性的值。如果当前请求没有参数,则什么也不做,系统不会把null传递给Bean属性的set方法,因此,可以让Bean自己提供默认属性值,只有在请求参数明确指定了新值时才修改默认属性值。

value属性
value属性是可选的,改属性用来指定Bean属性的值
value和param属性不能同时使用,但可以使用其中任意一个。

getProperty属性

用于获取指定的Bean属性值并转换成字符串输出。

<jsp:getProperty name="Bean的名称" property="Bean的属性" />

name属性
name属性指定要获取属性值的Bean名称,不能接受动态值。

property属性
property属性指定要获取的Bean属性名,不能接受动态值。

forward动作

用于转发客户端的请求到另一个页面或者另一个Servlet文件中去。

<jsp:forward page="地址或者页面">

<jsp:forward>动作可以包含一个或多个<jsp:param>子动作,用于向要引导进入的页面传递参数。当jsp:forward动作发生时,如果已有文本被写入输出流而且页面没有设置缓冲,将抛出异常。

page属性
page属性指定资源的相对路径,可接受动态值。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

辣椒酱.

感谢支持,我会继续努力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值