jsp基础2:jsp标签和EL表达式

1.jsp标签:JSP标签也称之为Jsp Action(JSP动作)元素,它用于在JSP页面中提供业务逻辑功能。

     ⒈<jsp:include>标签用于把另外一个资源的输出内容插入进当前JSP页面的输出内容之中,

这种在JSP页面执行时的引入方式称之为动态引入。
语法:
<jsp:include page="relativeURL | <%=expression%>" flush="true|false" />
page属性用于指定被引入资源的相对路径,它也可以通过执行一个表达式来获得。
flush属性指定在插入其他资源的输出内容时,是否先将当前JSP页面的已输出的内容刷新到客户端,默认为false。

注:不管是<jsp:include>标签,还是include指令,它们都会把两个JSP页面内容合并输出,所以这两个页面不要出现重复的HTML全局架构标签,否则输出给客户端       的内容将会是一个格式混乱的HTML文档。

⒉<jsp:forward>标签用于把请求转发给另外一个资源。
语法:
<jsp:forward page="relativeURL | <%=expression%>" /> 
page属性用于指定请求转发到的资源的相对路径,它也可以通过执行一个表达式来获得。

⒊当使用<jsp:include>和<jsp:forward>标签引入或将请求转发给其它资源时,可以使用<jsp:param>标签向这个资源传递参数。

<span style="font-size:18px;"><span style="white-space:pre">	</span>语法1:
	<span style="white-space:pre">	</span><jsp:include page="relativeURL | <%=expression%>">
		<span style="white-space:pre">	</span><jsp:param name="parameterName" value="parameterValue|<%= expression %>" />
	<span style="white-space:pre">	</span></jsp:include>
<span style="white-space:pre">	</span>语法2:
	<span style="white-space:pre">	</span><jsp:forward page="relativeURL | <%=expression%>">
		<span style="white-space:pre">	</span><jsp:param name="parameterName" value="parameterValue|<%= expression %>" />
	<span style="white-space:pre">	</span></jsp:include>
<span style="white-space:pre">		</span><jsp:param>标签的name属性用于指定参数名,value属性用于指定参数值。在<jsp:include>和<jsp:forward>标签中可以使用多个<jsp:param>标签来传递多个参数。 </span>

2.EL表达式: 全名为Expression Language。

作用:

⒈获取数据:
EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象、获取数据。(某个web域 中的对象,

访问javabean的属性、访问list集合、访问map集合、访问数组)
⒉执行运算:
利用EL表达式可以在JSP页面中执行一些基本的关系运算、逻辑运算和算术运算,以在JSP页面中完成一些简单的逻辑运算。${user==null}
⒊获取web开发常用对象
EL 表达式定义了一些隐式对象,利用这些隐式对象,web开发人员可以很轻松获得对web常用对象的引用,从而获得这些对象中的数据。
⒋调用Java方法
EL表达式允许用户开发自定义EL函数,以在JSP页面中通过EL表达式调用Java类的方法。

注:EL表达式语句在执行时,会调用pageContext.findAttribute方法,用标识符为关键字,分别从page、request、session、application四个域中查

找相应的对象,找到则返回相应对象,找不到则返回”” (注意,不是null,而是空字符串)。 


例:${user.address.city}${user.list[0]}:访问有序集合某个位置的元素 ${map.key}  : 获得map集合中指定key的值

⒌empty运算符:检查对象是否为null或"";

例:${empty requestScope.user}

获取常用对象:EL表达式语言中定义了11个隐含对象,使用这些隐含对象可以很方便地获取web开发中的一些常见对象,并读取这些对象的数据。
语法:${隐式对象名称}  :获得对象的引用

隐含对象名称
描       述
pageContext
对应于JSP页面中的pageContext对象(注意:取的是pageContext对象。)
pageScope
代表page域中用于保存属性的Map对象
requestScope
代表request域中用于保存属性的Map对象
sessionScope
代表session域中用于保存属性的Map对象
applicationScope
代表application域中用于保存属性的Map对象
param
表示一个保存了所有请求参数的Map对象
paramValues
表示一个保存了所有请求参数的Map对象,它对于某个请求参数,返回的是一个string[]
header
表示一个保存了所有http请求头字段的Map对象
headerValues
同上,返回string[]数组。注意:如果头里面有“-” ,例Accept-Encoding,则要headerValues[“Accept-Encoding”]
cookie
表示一个保存了所有cookie的Map对象
initParam
表示一个保存了所有web应用初始化参数的map对象

EL表达式使用注意事项:EL表达式是JSP 2.0规范中的一门技术 。因此,若想正确解析EL表达式,需使用

支持Servlet2.4/JSP2.0技术的WEB服务器。
注意:有些Tomcat服务器如不能使用EL表达式
(1)升级成tomcat6
(2)在JSP中加入<%@ page isELIgnored="false" %>


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值