jsf el表达式_JSP,JSF和EL简介

jsf el表达式

JavaServer页面,JavaServer Faces和表达语言

在本文中,我将研究JavaServer Pages(JSP)和Expression Language(EL),然后将其与JavaServer Faces (JSF)关联。 我将讨论如何在JSP和JSF代码中直接访问HTTP对象,并且您将看到它们之间语法差异的一些示例。

JSP是传统技术

JSP是Java EE的传统Web编程技术,该技术在1999年的J2EE的第一个版本中发布。 后来,它在2003年被JSF取代,但是其开发继续使用Java EE 7中发布的最新版本2.3,但尚未进行折旧。

首选JSF

尽管JSF已取代JSP成为首选选项,但仍有许多使用JSP的应用程序,并且很可能在未来的几年中会遇到这种应用程序,因此值得对这项技术有所了解。

动态Java Web应用程序

JSP是一种服务器端技术,允许开发人员创建动态Java Web应用程序。 JSP可以看作是Servlet技术的扩展,因为它提供了易于创建用户视图的功能。 JavaServer Pages由HTML代码组成,但它允许包含Java代码以进行动态内容创建。 由于Web应用程序包含许多用户屏幕,因此JSP在Web应用程序中使用很多。

弥合Java和HTML之间的鸿沟

为了弥合Java代码和JSP中HTML之间的鸿沟,它提供了其他功能,例如JSP标签表达式 语言自定义 标签 。 这使它更易于理解,并有助于Web开发人员快速开发JSP页面。 但是,大多数时候,我们仅将JSP用于视图生成,并且所有业务逻辑都存在于servlet代码, Enterprise Java Bean或模型类中。

与JSF相比,它是一种不太复杂的视图呈现语言,并且没有从组件带来的优势中受益。 但是,视图逻辑和业务逻辑的分离并不总是那么清晰。 JSP Scriptlet允许直接在视图逻辑中编写Java代码。 这使分离蒙上了阴影。

内联Java

此类Java代码直接在JSP页面中的火箭号与百分比<%…%>之间输入

在这里,我们使用Java代码访问HTTPServerRequest对象,以检索名为idpassword的查询参数。

将这种逻辑与视图技术混合在一起是不好的做法。 这就是为什么现代Java EE应用程序选择不使用JSP,而是使用结构更好的基于组件的JSF语言的原因。

JSP隐式对象

JSP隐式对象是由Servlet容器创建的,同时将JSP转换为Servlet。 这些主要与HTTP对象和范围有关。 如上面的代码片段所示,我们可以直接在scriptlet中使用JSP中的隐式对象来访问与当前范围或HTTP对象相关的值。

在下面的代码片段中,我们将引用HTTP请求对象以获得上下文路径。

<%=request.contextPath %>

其他隐式JSP对象的示例是requestresponsepageContextapplication

为了使问题进一步复杂化, 表达式语言具有自己的隐式对象,这些隐式对象的名称与JSP中可用的名称相似,并且与相同的HTTP对象和范围相关。

${request.contextPath}

其他EL隐式对象的示例: requestrequestScopedpageContextapplicationScoped

就像在前面的JSP示例中一样,这里从HTTP请求对象获取上下文路径。 请注意,某些对象的名称不同,并且使用了不同的语法。

在JSP和JSF中使用EL

让我们稍微扩展一下主题,看看我们如何在JSP和JSF中使用表达式语言。

以下代码段显示了EL在JSP中的用法:

  • 隐式对象: $ {request.contextPath}
  • Bean属性: $ {book.title}

下面的代码片段显示了在JSF中使用EL的情况:

  • 隐式对象: #{request.contextPath}
  • Bean属性: #{book.title}

在这两种情况下,对象引用都被命名为相同,并且引用相同的对象。 唯一的区别是用于引用实例的语法。 JSP使用美元符号,而JSF使用哈希  通过使用带有小写第一个字母 来引用Bean名称 (除非已在命名注释中显式定义了另一个名称)。

最后,让我们看看在表达式语言中使用的一些语法。

  • 逻辑运算符
  • []()<=>eq ne|| 和更多
  • 并且不是 的instanceof, 真实 ,MOD更多
  • $ {非空book.title}

如您所料,它是非常熟悉的。 我们拥有验证相等性并执行数学运算的标准逻辑运算符。 另外,我们在复合操作(例如我们在此处看到的非空操作)上获得了一些语法糖。

进一步阅读

如何学习一些有关上下文和依赖项注入 (CDI)和企业Java Bean (EJB)的知识。 这是两项核心技术。

我最近发布了一个迷你系列博客,介绍了JAX-RS 。 他们讨论了如何管理bean验证失败如何使用者和生产者一起使用以及如何创建JAX-RS资源实体

关于JAX-RS主题,有两个深入的系列:

  • 什么是JAX-RS批注? 深入研究开发REST端点时最常用的注释。
  • @Context注释用于什么? 深入了解@Context批注的许多用途。

接下来是什么?

如果您是Java EE的新手,那么不知所措要从企业生态系统中了解所有API。 因此,我编写并录制了视频培训课程“ 学习Java企业版” 。 这是一个为期两个小时的课程,向您介绍所有最重要的Java EE API。 关于如何使用Enterprise Java进行编程的大量演示,代码示例和练习任务,将使您成为Java EE开发人员时能说得很好。

增进知识

如果您想了解更多信息,那么有些课程将更深入地介绍每个API。 您将学习一门关于JAX-RS API的课程,通过学习如何构造RESTful端点来提高自己的知识。 WebSocket API上有一门课程,您可以学习如何开发聊天应用程序,而JSON上则有一门课程,您可以学习如何掌握JSON-Processing API课程。 即将到来的课程很多,所以为什么不现在就加入并让您的Java EE事业发展呢?

翻译自: https://www.javacodegeeks.com/2017/09/jsp-jsf-el-introduction.html

jsf el表达式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/334667.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浅谈防火墙对 FTP 的影响及故障排除

FTP 是常见的基于TCP的网络服务&#xff0c;它使用了两个TCP连接来建立逻辑通信信道&#xff0c;即控制连接和数据连接。当客户端与服务器建立一个FTP会话时&#xff0c;使用TCP创建一个持久的控制连接以传递命令和应答。当发送文件和其它数据传输时&#xff0c;它们在独立的TC…

定向输出命令_数据流的世界,带你了解Linux重定向

今天&#xff0c;小编就带大家一起来看看数据重定向。重定向&#xff1a;将原本输出到标准输出的数据重定向到一个文件中。用于终端显示输出的特殊设备&#xff1a;IO重定向是为了改变默认输入、输出的位置&#xff1a;输出重定向(标准输出STDOUT和标准错误输出STDERR)【>】…

SSH(Secure Shell) 介绍一

文章目录基本原理首次建立连接的时候的公钥交换通过ssh来进行密码登录利用公钥来登录基本原理 SSH&#xff08;Secure Shell&#xff09;是一套协议标准&#xff0c;可以用来实现两台机器之间的安全登录以及安全的数据传送&#xff0c;其保证数据安全的原理是非对称加密。 传…

gc 堆外_GC解释:堆

gc 堆外世代垃圾收集器 JVM堆分为两个不同的世代。 一种称为“年轻”&#xff0c;第二种称为“老”&#xff08;有时称为终身制&#xff09;。 年轻一代又分为两个主要的逻辑部分&#xff1a;伊甸园和幸存者空间。 垃圾收集人员还使用了虚拟空间供年轻人和老年人使用&#xff0…

数据传输协议汇总

文章目录一、FTP(File Transfer Protocol 文件传输协议)&#xff08;一&#xff09;FTP 通讯端口&#xff08;二&#xff09;FTP 支持两种连接模式&#xff08;三&#xff09;缺点&#xff08;四&#xff09;FTP 命令&#xff08;五&#xff09;FTP 响应码&#xff08;六&#…

得力科学计算机怎么求余,山商“郭叔”:妙招讲高数 考研路上得力导师

山东工商学院数学与信息科学学院教授郭林大众网海报新闻记者 屈晨晨 烟台报道“郭老师人特别和蔼&#xff0c;能够和学生们打成一片&#xff0c;不仅讲课风趣&#xff0c;同时也给予了我们很多帮助&#xff0c;私底下我们都喊他郭叔。”这是山东工商学院很多毕业生对郭老师的评…

如何打开笔记本电脑的摄像头_Win8系统笔记本电脑摄像头无法使用的解决办法...

Win8系统电脑摄像头不能用怎么办&#xff1f;使用Win8系统笔记本电脑的用户反映&#xff0c;电脑摄像头无法使用了&#xff0c;这是怎么回事呢&#xff1f;如何解决这个问题&#xff1f;请看下文。解决方法&#xff1a;1、打开计算机中的“控制面板”&#xff0c;如图所示&…

浅析文件传输协议 (ftp) 的工作原理

起初&#xff0c;FTP并不是应用于IP网络上的协议&#xff0c;而是ARPANEt网络中计算机间的文件传输协议&#xff0c; ARPANET是美国国防部组建的老网络&#xff0c;于1960-1980年使用。在那时&#xff0c; FTP的主要功能是在主机间高速可靠地传输文件。目前FTP仍然保持其可靠性…

vb.net 同时给多个属性赋值_Python尚学堂高淇|1721时间表示unix时间点毫秒微秒time模块浮点数自动转换强制转换增强赋值运算符...

017浮点数-自动转换-强制转换-增强赋值运算符浮点数称为float用a*b^10形式表示的科学计数法&#xff0c;比如:3.14,314E-2或者314e-2这些数字在内存当中也是按照科学计数法存储、>>>float(3)3>>>314E-23.14>>>float(“3.14”)3.14>>>int(3…

计算机键盘复制键是哪个,键盘按什么键复制粘贴_键盘上复制粘贴快捷键是哪个键-win7之家...

使用电脑的时候经常会需要使用到复制粘贴功能&#xff0c;许多用户可能会习惯使用右键来复制粘贴&#xff0c;其实这样有点麻烦&#xff0c;比较简单的就是使用快捷键来操作&#xff0c;但是有部分用户还不知道键盘按什么键复制粘贴&#xff0c;如果你也有一样需求的话&#xf…

我的世界java无法安装包_手把手教你搭建java环境

前文由于一些历史原因,开发java程序需要技术人员自行搭建环境,而搭建环境对于新手来说并不友好,不像其他语言那般方便,现如今,为帮助想入门java却无法顺利搭建的同学,编写该教程,如果觉得本文有用,请添加关注,更多java教程,后续更新~第一步 下载JDK可自行前往Oracle官网下载指定…

vs 2019 社区版许可证过期_Switch版《最终幻想12:黄道时代》对比PS4版 就没差

2017年7月发布的“最终幻想12”重制版《最终幻想12&#xff1a;黄道时代》登陆PS4平台&#xff0c;4月30日这款经典游戏还将登陆Xbox One和Switch平台&#xff0c;都将支持60帧运行。那么游戏在Switch这款掌机上的表现到底如何呢&#xff1f;油管频道Direct-Feed Games就为大家…

局域网限速软件_8款Windows实用软件推荐,纯干货,总有一款是你必备的

开学后&#xff0c;有些小伙伴得走进大学校门&#xff0c;有些小伙伴走向公司大门&#xff0c;不管你做出了哪种选择&#xff0c;最终都会走向社会&#xff0c;走向岗位。我已经毕业走向社会近10年了&#xff0c;珍藏了一些小视频&#xff0c;呃说错了&#xff0c;是珍藏了一些…

javaserver_什么是JavaServer Faces(JSF)

javaserver这是一个分为两部分的系列&#xff0c;其中我介绍了JSF 2及其如何适合Java EE生态系统。 在第1部分中&#xff0c;我将介绍JavaServer Pages&#xff08;JSF&#xff09;背后的基本思想 &#xff0c;在第2部分中&#xff0c;我将介绍Facelets声明语言 。 在构建Web…

安装计算机一级出现appcrash,win10系统运行程序出现appcrash错误的办法

win10系统使用久了&#xff0c;好多网友反馈说win10系统运行程序出现appcrash错误的问题&#xff0c;非常不方便。有什么办法可以永久解决win10系统运行程序出现appcrash错误的问题&#xff0c;面对win10系统运行程序出现appcrash错误的图文步骤非常简单&#xff0c;只需要1、同…

winpe镜像文件iso下载_下载:微软正式发布Win10 2004版并即日起开始推送

PS&#xff1a;关于Windows 10 v2004版蓝点网早前已建立专题&#xff0c;目前该专题已收录关于该版本的101篇文章&#xff0c;微信篇幅有限无法全部发过来&#xff0c;准备升级的用户建议点击阅读原文按钮或使用电脑访问蓝点网首页查看Windows 10 v2004专题。刚刚微软在官方博客…

iphone固件降级_我在iPhone上装了个安卓

目前使用Android系统设备的好处就是可以执行更多的操作。主要是因为安卓拥有自己的开源计划AOSP(Android Open Source Project)&#xff0c;比iOS开放了更多的应用接口API&#xff0c;商家可以用Android源码进行二次开发&#xff0c;相对iOS开放很多。图片来自百度iPhone跟Andr…

极速pdf编辑器的水印如何去掉_如何修改PDF?有没有详细的PDF编辑器操作方法?...

在工作中我们每天都会处理很多文件&#xff0c;而PDF格式因为其格式稳定也被越来越多的人接受并使用&#xff0c;但也正因为如此&#xff0c;PDF的修改相比较以前常用的Word会复杂很多。那么应该如何修改PDF呢&#xff1f;其实使用PDF编辑器就能让PDF文档像Word一样轻松编辑。1…

python django开发网站项目难吗_用django开发网站时遇到的问题

1.网站的登录功能怎么实现&#xff1a;密码的存储机制、重置密码时链接的生成算法&#xff0c;第三方认证的原理等等。django的密码储存是 Hashsalt 并迭代 第三方认证是用oauth2django-admin里面有写了哦 循环1000次加密算法google关键词 hash salt&#xff0c;oauth22.介绍设…

计算机网络专科升本科,目前专科升本科有哪几种途径?

原标题&#xff1a;目前专科升本科有哪几种途径&#xff1f;随着社会的高速发展&#xff0c;只有专科学历是远远不够自身发展需求的。于是有不少同学就想专科升本科学历来提高自己的职业竞争力&#xff0c;但他们对于目前专科升本科的几种途径还不够了解。那么&#xff0c;目前…