当前位置: 网学 > 编程文档 > JSP > 正文

JSP 标准标记库基础知识学习

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/17
下载{$ArticleTitle}原创论文样式
如果这个操作是生成 HTML 或 XML 内容的 JSP 页面的一部分,那么,这个字符串中间的“&”符号最终可能被解释为 HTML 或 XML 控制字符,从而妨碍了对该内容的显示或解析。  [Page]

但是,如果将 escapeXml 属性值设置成 true,则所生成的内容将是 Flynn & Sons。浏览器或 

解析器不会因在解释时遇到这种内容而出问题。假定 HTML 和 XML 是 JSP 应用程序中最常见的内容类型,所以 escapeXml 属性的缺省值是 true 就不足为奇了。 

清单 15. 禁用转义的 <c:out>; 操作示例 
<c:out value=\"${user.company}\" escapeXml==\"false\"/>; 




用缺省值设置变量 
除了简化动态数据的显示之外,当通过 <c:set>; 设置变量值时,<c:out>; 指定缺省值的能力也很有用。正如清单 11 所示,用来赋给限制了作用域的变量的值可以指定为 <c:set>; 标记的主体内容,也可以通过其值属性来指定。通过将 <c:out>; 操作嵌套在 <c:set>; 标记的主体内容中,变量赋值就可以利用其缺省值能力。 

清单 16 中说明了这种方法。外部 <c:set>; 标记的行为非常简单:它根据其主体内容设置会话作用域 timezone 变量的值。但是,在这种情况下,主体内容是通过 <c:out>; 操作生成的。这个嵌套操作的值属性是表达式 ${cookie[’tzPref’].value},它尝试通过 cookie 隐式对象返回名为 tzPref 的 cookie 值。(cookie 隐式对象将 cookie 名称映射到相应的 Cookie 实例,这意味着必须通过对象的 value 特性使用点运算符来检索储存在 cookie 中的实际数据。) 

清单 16. 合并 <c:set>; 和 <c:out>; 以提供缺省变量值 
<c:set var=\"timezone\" scope==\"session\">; 
  <c:out value=\"${cookie[’tzPref’].value}\" default==\"CST\"/>; 
</c:set>; 




但是,请考虑以下情况,用户是第一次尝试使用这段代码的 Web 应用程序。结果是,请求中没有提供名为 tzPref 的 cookie。这意味着使用隐式对象的查找将返回 null,在这种情况下整个表达式将返回 null。因为对 <c:out>; 标记的 value 属性求值的结果是 null,所以 <c:out>; 标记会转而输出对其 default 属性求值的结果。在这里是字符串 CST。因此,实际的结果是将 timezone 限制了作用域的变量设置成用户的 tzPref cookie 中存储的时区,或者,如果没有,则使用缺省时区 CST。 

EL 和 JSP 2.0 
目前,表达式语言仅可用于指定 JSTL 定制标记中的动态属性值。但 JSTL 1.0 表达式语言的一个 

扩展已经被提出,会把它包括到 JSP 2.0 中去,眼下正在进行最后评审。这个扩展将允许开发人员通过自己的定制标记来使用 EL。页面作者将可以在目前允许使用 JSP 表达式的任何地方使用 EL 表达式,譬如将动态值插入模板文本中:<p>;Your preferred time zone is ${

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号