2021-11-30JSP使用,EL表达式,Scriptlet,指令标签,四大域对象

JSP注释

显示注释

<!--><-->

隐示注释

<%-- jsp注释--%>

//单行注释

/*多行注释*/

Scriptlet脚本小程序

  • 第一种:Java脚本段,可以写java代码,定义局部变量。编写语句等
  • <%%>
  • 第二种:声明全局变量、方法、类等
  • <%!%>
  • 第三种:输出表达式,可以输出变量或者字面量
  • <%=数值%>

include静态包含标签

<%@include file="要包含的文件相对地址"%>

静态包含就是将内容进行了直接的替换,就好比程序定义中的变量一样,使servlet引擎转译时,就把此文件内容包含了进去(两个文件的源代码会整合到一起,全部放到jspService方法中),所以只会生成一个servlet,所以两个页面不能有同名的变量,运行效率高一点点。耦合性高,不够灵活。

include动态包含 

动态包含在代码的编译阶段,包含和被包含部分是两个独立的部分,只有当运行的时候,才会动态包含进行,好比方法的调用。可以定义同名变量,效率高耦合度低。

<jsp:include page="要包含的文件相对地址"></jsp:include>  无参数时,中间不要写任何东西。 

参数表示!

<jsp:param name="uname" value="admin"/> name属性不支持表达式,value属性支持表示

<jsp:param name="msg" value="<%=str%>"/> 

JSP四大域对象

pageContext作用域:在当前页面有效,跳转后无效、

request作用域:在一起请求中有效,服务器跳转有效,客户端跳转无效、

session作用域:在一此次会话中有效,服务器和客户端跳转有效

application作用域:在整个应用中有效 

设置作用域对象

pageContext.setAttribute("name1","zhangsan");

out.print("page范围"+pageContext.getAttribute("name1"));

jsp服务器跳转

<jsp:forward page="要跳转到的jsp页面"></jsp:forward>

EL表达式的使用-获取数据

获取List

获取List的size${list.size}

获取List的指定下标的值:${list[1]}

获取Map

${map.key}或者${map["key"]}

map和list都是代表限域变量名

获取JavaBean对象

javabean中的属性字段必须提供get方法

${user.属性}或者${user.getUpwd()}

EL表达式的使用-empty 不为空加!

<%

request.setAttribute("str1","abc")

request.setAttribute("str2","")

request.setAttribute("str3",null)

%>

域对象为字符串,不存在的对象为true,空也为true,null也为true。

域对象为集合list或者map,null为true,长度为0也为true,

域对象为javabean对象,null为true,空对象:false

${empty str}  //true

${empty str1} //false

${empty str2}//true

${empty str3}//true

EL运算 

== eq 等值比较

${+ - * /(div) && ||}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值