JSP表达式

3 篇文章 0 订阅

JSP简介

  • JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它[1] 是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

  • 它实现了Html语法中的java扩展(以 <%, %>形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

  • JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。

  • Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。


EL表达式

  • E L(Expression Language) 目的:为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化。

1、语法结构
${expression}

2、操作符



JSP 表达式语言提供以下操作符,其中大部分是 Java 中常用的操作符:

术语定义

  • 算术型 +、-(二元)、*、/、div、%、mod、-(一元)

  • 逻辑型 and、&&、or、||、!、not

  • 关系型 ==、eq、!=、ne、<、lt、>、gt、<=、le、>=、ge。可以与其他值进行比较,或与布尔型、字符串型、整型或浮点型文字进行比较。

  • 空 empty 空操作符是前缀操作,可用于确定值是否为空。

  • 条件型 A ?B :C。根据 A 赋值的结果来赋值 B 或 C。


3、隐式对象



JSP 表达式语言定义了一组隐式对象,其中许多对象在 JSP scriplet 和表达式中可用:




1、与范围有关的隐式对象

与作用范围有关的EL隐含对象包含有:pageScope、requestScope、sessionScope和applicationScope
  • -它们可以读取使用JSP内置对象pageContext、request、session以及application的setAttribute()方法所设定的对象的数值—–即getAttribute(String name),却不能取得其他相关信息。

  • –例如,要取得session中储存的一个username属性的值,可以利用下面的方法:session.getAttribute(“username”)

  • –在EL中则使用下面的方法:${sessionScope.username}


注意:如果没有设定使用EL内置对象的作用范围,则按照pageScope、requestScope、sessionScope和applicationScope的先后顺序读取属性值。

  • 即通知JSP引擎调用pageContext.findAttribute()方法,以标识符为关键字从各个域对象中获取对象。如果域对象中不存在标识符所对应的对象,则返回结果为“”(注意,不是null)。



这里拿pageContext 做为演示:

pageContext JSP 页的上下文。它可以用于访问 JSP 隐式对象,如请求、响应、会话、输出、servletContext 等。例如,${pageContext.response} 为页面的响应对象赋值。



从pageContext中取数据

${pageContext.request.queryString}        取得请求的参数字符串    
${pageContext.request.requestURL}         取得请求的URL,但不包括请求之参数字符串     
${pageContext.request.contextPath}        服务的web application 的名称     
${pageContext.request.method}             取得HTTP 的方法(GET、POST)    
${pageContext.request.protocol}           取得使用的协议(HTTP/1.1、HTTP/1.0)      
${pageContext.request.remoteAddr }        取得用户的IP 地址         
${pageContext.session.id}                 取得session 的ID    
${pageContext.servletContext.serverInfo}  取得主机端的服务信息



加上参数方便获取结果

http://localhost/test/f.jsp?lingdu

1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值