Struts2数据标签.docVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Struts2数据标签 8.2??数据标签 数据标签更关注如何从值栈上取值或者向值栈赋值。 8.2.1 property标签 1:功能: 用来输出OGNL表达式的值。 2:属性 ?????? property标签的主要属性: value:用来获取值的OGNL表达式,如果value属性值没有指定,那么将会被设定为top,也就是返回位于值栈最顶端的对象。 default:如果按照value属性指定的OGNL求值后返回的是空值,但是你仍然希望输出某些内容,那么就可以使用default属性来指定这些内容 escape:是否转义HTML,默认为true escapeJavaScript:是否转义JavaScript,默认为false 3:属性value和default的使用 直接看示例: 第一个是有value值的,应该输出value所设置的OGNL表达式运算后的值; 第二个虽然设置了value,但是value所设置的OGNL表达式是找不到值的,那么应该输出default的值; 第三个就没有设置value属性,那么应该输出位于值栈最顶端的对象。 示例代码如下: ? java代码: 查看复制到剪贴板打印 %@?taglib?prefix=s?uri=/struts-tags?%?? %?? ????request.setAttribute(request,请求的属性值);?? %?? 输出value值:?s:property?value=#request[request]/?? br?? 输出缺省值:?s:property?value=#request[request2]?default=缺省值/?? br?? 输出栈顶的对象:?s:property/?? 运行结果如下图所示: 图8.1? 示例property标签 4:属性escape的使用 接下来说明一下escape属性,它指明了是否把要显示的值按照HTML的转义规则进行转义。看如下的示例,一个是转义的,一个是不转义的,示例代码如下: ? java代码: 查看复制到剪贴板打印 %@?taglib?prefix=s?uri=/struts-tags?%?? s:property?value=hr/?? s:property?value=hr?escape=false/?? 首先要注意s:property value=hr/中的value里面的值为hr,这对单引号的意思是,单引号里面的东西不按照OGNL表达式来解析,可以直接看成一个字符串。 那么,现在的两句s:property/,要打印的内容一样,只是上面的一句按照HTML转义,而下面的一句不按照HTML转义。因此,上面的可以正确打印出字符串hr,而下面的就是打出横线来。如图: 图8.2 s:property/的escape属性指定了是否按照HTML进行转义 为何会是这样呢?查看一下页面对应的源代码,你就什么都明白了,页面对应的源代码如下: ? java代码: 查看复制到剪贴板打印 html?? head?? meta?http-equiv=Content-Type?content=text/html;?charset=gb2312?? titleInsert?title?here/title?? /head?? body?? ??? lt;hrgt;?? hr?? ??? /body?? /html?? 你会发现,转义的那个输出变成了“lt;hrgt;”,不转义的那个是直接输出成“hr”,其实转义,就是把HTML中的一些特殊字符用已经定义好的实体进行替换的过程,常见的HTML转移字符如下列表: HTML中还有很多需要转移的字符,这里就不去赘述了,可查阅相关的资料。 8.2.2?set标签 1:功能: ?????? 对设置的表达式进行求值,并将结果赋给特定作用域中的某个变量。简单点说,set标签类似于定义一个变量,并赋值。 set标签有很多应用的地方,比如一个对象在OGNL上的访问层次较深,就可以使用set标签给它定义成一个变量,这样就可以保证在多次引用它的时候更方便。 2:属性 ?????? set标签的主要属性: id:已过时,请用var代替。 name:已过时,请用var代替。 var:变量名,可以在OGNL表达式中使用这个名称来引用存放到值栈的这个对象。 scope:变量的生存周期,可以选择application、session、request、page或action,默认为action。 value:设置给变量的值,可以是常量,也可以是OGNL表达式 3:属性var和value的使用 假如现在Session中有一个叫user的属性,要访问它的name属性和age属性,不用set标签的话,写法如下: ? java代码: 查

文档评论(0)

wangjie111 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档