ImageVerifierCode 换一换
格式:DOCX , 页数:6 ,大小:19.11KB ,
资源ID:18195283      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18195283.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(jstlelonglstruts标签的区别与使用Word文件下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

jstlelonglstruts标签的区别与使用Word文件下载.docx

1、c:out&/c:、&set& 实例 单纯的jsp中嵌入java代码 span style=font-family:KaiTi;font-size:14px; &18px;%names = request.getAttribute(name); jsp代码 &%for(int i=0;i&names.length;i+) String name=names.get(i); %&tr&td&%=name%&/td&/tr&% %&/span& 引入Jstl与EL forEach var=name items=$names/此句是Jstl表达式 & $name/此句是El表达式 & 作用 1、在应

2、用程序服务器之间提供了一致的接口,最大程度地提高了WEB应用在各应用服务器之间的移植。 2、 简化了JSP和Web应用程序的开发。与EL关系 jstl是JSP标签,有点像html的标签,JSTL一般配合EL使用。jstl用来取值,而el用来展示。el也可直接取值展示作用域里对象变量。二、EL 大家熟知的 Hibernate,使用HQL(Hibernate Query Language) 来完成数据库的操作,HQL 成了开发人员与复查的 SQL 表达式之间的一个桥梁。 在 web框架下,表达式语言起到了相似的目的。它的存在消除了重复代码的书写,使JSP写起来更加简单。定义 EL全名为Expres

3、sionLanguage,它原来是JSTL1.0为了方便存取数据所定义的语言。到了JSP2.0以后,EL正式纳入成为标准规范之一。只要是支持Servlet2.4/JSP2.0的Container,都可以在JSP网页中直接使用EL。 $ ELexprission 两种形式:$bean.name 或 $ bean 实例 两种运算符存储数据.和 $user.userName $useruserName 当要存取的属性名称中包含特殊字符$user.My-Name因改为$userMy-Name 如果动态取值时,就可以用来做$user.list0 获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,

4、以从各种类型的web域中检索java对象,获取数据$map.key 执行运算 利用EL表达式可在JSP中执行一些基本的关系运算、逻辑运算和算数运算,以在JSP页面中完成一些简单操作 获取web开发常用对象 EL表达式定义了一些隐式对象,利用这些隐式对象,web开发人员可以很轻松的获得对web常用对象的引用,从而获得这些对象中的数据(pageScope/pageContext) 常用对象:param、paramValues、 调用Java方法 EL表达式允许用户开发自定义EL函数,以在JSP页面中通过EL表达式调用Java类的方法 寻找方式 $username依次从Page、Request、Se

5、ssion、Application范围查找,找到后直接回传,如果全部范围都没有找到时就回传“”(不是null,而是空字符串) 隐含对象 pageScope、requestScope、sessionScope和applicationScope 等同于JSP中pageContext、request、session和application,这四个隐含对象只能用来缺德范围属性getAttribute(Stringname)特点: 如果在struts环境中,它除了有在上面的四个作用域的取值功能外,还能从值栈(valuestack)中取值. 特点1:$name,name在值栈中的查找顺序是:先从对象栈中取

6、,取到终止,否则,向map中取。 特点2:在对象栈的查找顺序是,先从model中找是否有name这个属性,找到终止,否则,找action中是否有name这个全局变量。 特点3:$#name,里面的是不带#号的。 特点4:如果放在对象栈中的是一个自定义的对象,那么$property里面可以直接去该对象的属性值,不用这样$object.property 注:EL表达式,需要引入JSTL标记库,因为Jsp把EL表达式加入时放在jstl中定义的 三、ONGL OGNL最初是为了能够使用对象的属性名来建立 UI 组件 (component) 和 控制器 (controllers)之间的联系,简单来说就是

7、:视图与控制器之间数据的联系。后来为了应付更加复杂的数据关系, OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,OGNL是一个开源项目,读者可以访问其官方站点以获得源代码和相关资料。OGNL是一种功能强大的EL(Expression Language,表达式语言),可以通过简单的表达式来访问Java对象中的属性。 webwork2和现在的Struts2.x中使用OGNL取代原来的EL来做界面数据绑定,所谓界面数据绑定,也就是把界面元素(例如一个textfield,hidden)和对象层某个类的某个属性绑定在一起,修改和显示自动同步。 1、

8、读取从后台传递的值 %#name:表示从值栈的map中取值 %name:表示从值栈的对象栈中取值 %#request.name:表示从request域中取值 2、自己构建数据 a,构建Map&s:iterator var=mapvalue=#key1:value1,key2value2/& b,构建List&listonetwothree 通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。这样可以更好的取得数据。 三种符号 1、#符号 1)访问非根对象属性,由于Struts2中值栈被视为根对象,

9、所以访问其他非根对象时,需要加#前缀。实际上,#相当于ActionContext.getContext(); 2)用于过滤和投影(projecting)集合,如示例中的persons.?#this.age&20。 3)用来构造Map,例如示例中的#foo1:bar1,foo2:bar2。 2、%符号 %符号的用途是在标志的属性为字符串类型时,计算OGNL表达式的值。如下面的代码所示:构造Mapset name=”foobar” value=”#foo1:bar1, foo2:bar2” /&p&The value of key “foo1 is &property value=”#foobar

10、foo1” /&/p&不使用:url value=”#foobar使用:url value=”%#foobar” /& 3、$符号(两方面) 在国际化资源文件中,引用OGNL表达式 在Struts 2框架的配置文件中引用OGNL表达式 既然有了EL为什么还需要ONGL? 相对于其它的表达式语言而言,ONGL的功能更为强大,它提供了很多高级而必须的特性,例如强大的类型转换功能,静态或实例方法的执行,跨集合投影,以及动态lambda表达式定义等与EL区别 1、用法区别 OGNL是通常要结合Struts 2的标志一起使用,如&propertyvalue=#xx /& struts页面中不能单独使用,

11、el可以单独使用 $sessionScope.username 2、取值 ognl是在webwork2.0和struts2.x中取代el的。 使用ognl ,struts2就无需将对象手动放值进request等范围,页面直接取值。 3、js中的使用情况 EL表达式能用在内部文件的js里(jsp被解释时,内部文件的js代码也被解释,然后发送到客户端,而外部js文件是在客户端执行的,所以EL表达式不能用在外部js文件里) ONGL只能结合struts2一起使用,不能使用ONGL表达式 共同点:EL和OGNL都是表达式 ONGL与JSTL区别 ognl是struts2特有的表达式,jstl是标签库,

12、比如c标签,用来前台页面的变量的定义、作用域里的变量对象的取值等。四、Struts标签 Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性。实现了更好的代码复用。Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求。Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供了大部分标签,可以在各种表现技术中使用。包括最常用的jsp页面,也可以说Velocity和FreeMarker等模板技术中的使用。 引入标签库:/struts-

13、tags prefix=s 在web.xml中声明要使用的标签 filter&filter-name&struts2&/filter-name&filter-class&org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter&/filter-class&/filter& 控制标签:(if, elseif,else, iterator, append, merge, generator, subset, sort) 数据标签:(bean, param,date, debug, include, set, url,

14、 push 1、jstl中使用struts2标签 &forEach var=ee items=$requestScope.serviceList jstl:out value=$ee.id el:$ee.id struts2:property value=#attr.ee.idforEach& 2、jstl中取值 &set var=ctime value=$el.createtime scope=requestctime2#request.ctime#attr.ctime2 3、struts2标签中使用jstl &iterator value=#request.serviceList id=bs struts2:#bs.keyid$bs.keyid jstl:$bs.keyid/s:iterator& 4、struts2中取值 &!- 字符串类型 -&set name=pp2abc#request.pp2$pp2 jstl:$pp2 与ONGL的关系 Struts2默认的表达式语言是OGNL总结: jstl和struts标签是一类产品,struts标签提供了更多的功能,并且struts标签依赖于Struts框架 EL和ONGL都是表达式,ONGL为Struts的默认表达式。ONGL比EL更加强大

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1