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

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

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/17
下载{$ArticleTitle}原创论文样式
还可以将限制了作用域的变量的值指定为 <c:set>; 操作的主体内容,而不是使用属性。使用这种 

方法,您可以重新编写清单 10 中的第一个示例,如清单 11 所示。此外,正如我们马上可以看到的,<c:set>; 标记的主体内容本身也可以使用定制标记。<c:set>; 主体内生成的所有内容都将作为一个 String 值赋给指定变量。 

清单 11. 通过主体内容指定 <c:set>; 操作的值 
<c:set var=\"timezone\" scope=\"session\">;CST</c:set>;  [Page]




JSTL core 库包含第二个用于管理限制了作用域的变量的标记 — <c:remove>;。顾名思义,<c:remove>; 操作是用来删除限制了作用域的变量的,它获取两个属性。var 属性指定待删除变量的名称,scope 属性是可选的,它表示待删除变量来自哪个作用域,缺省为 page,如清单 12 所示。 

清单 12. <c:remove>; 操作示例 
<c:remove var=\"timezone\" scope=\"session\"/>; 




输出 
尽管 <c:set>; 操作允许将表达式结果赋给限制了作用域的变量,但开发人员通常会希望只显示表达式的值,而不存储它。JSTL <c:out>; 定制标记承担这一任务,其语法如清单 13 所示。该标记对由其 value 属性指定的表达式进行求值,然后打印结果。如果指定了可选属性 default,那么,在对value 属性的表达式求值所得结果为 null 或空 String 的情况下,<c:out>; 将打印其值。 

清单 13. <c:out>; 操作的语法 
<c:out value=\"expression\" default=\"expression\" escapeXml=\"boolean\"/>; 




escapeXml 属性也是可选的。它控制当用 <c:out>; 标记输出诸如“<”、“>;”和“&”之类的字符 

(在 HTML 和 XML 中具有特殊意义)时是否应该进行转义。如果将 escapeXml 设置为 true,则会自动将这些字符转换成相应的 XML 实体(此处提到的字符分别转换成 &、& 和 &)。 

例如,假定有一个名为 user 的会话作用域变量,它是一个类的实例,该类为用户定义了两个特性:username 和 company。每当用户访问站点时,这个对象被自动分配给会话,但直到用户实际登录后,才会设置这两个特性。假定是这种方案,请考虑清单 14 中的 JSP 片段。在用户登录之后,这片段将显示单词“Hello”,其后是他/她的用户名和一个惊叹号。但是,在用户登录之前,由这个片段生成的内容则是短语“Hello Guest!”。在这种情况下,因为 username 特性还有待初始化,所以 <c:out>; 标记将转而打印出 default 属性的值(即字符串“Guest”)。 

清单 14. 带缺省内容的 <c:out>; 操作示例 
Hello <c:out value=\"${user.username}\" default==\"Guest\"/>;! 




接下来,考虑清单 15,它使用了 <c:out>; 标记的 escapeXml 属性。如果在这种情况下已经将 company 特性设置成 Java String 值 \"Flynn & Sons\",那么,实际上该操作生成的内容将是 Flynn & Sons。

网学推荐

免费论文

原创论文

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