第六章 视图层设计技术.pptVIP

  1. 1、本文档共26页,可阅读全部内容。
  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文档。上传文档
查看更多
第六章 视图层设计技术 本章要点 自定义标签的设计原理与应用 在博客网站中定义博文分类标签 EL表达式与JSTL标签 实现博客网站中的博文管理功能 AJAX原理及应用 6.1 自定义标签 自定义标签是用户定义的JSP语言元素,通过封装反复执行的代码使之可以在多个应用程序中重复使用,从而提高开发效率。它在处理网页内容的数据及易用性方面比JavaBean都要出色。标准的应用框架,如Struts2,都提供了大量的标签。 自定义标签的设计原理 自定义标签是用户定义的JSP语言元素。当JSP页面包含一个自定义标签时被转化为Servlet,标签转化为对称为Tag Handler的对象的操作。接着当Servlet执行时Web Container调用那些操作。自定义标签有着丰富的特点,它们可以: 通过调用页面传递参数实现定制; 访问所有对于JSP页面可能的对象; 修改由调用页面产生的响应; 自定义标签间可相互通信; 在同一个JSP页面中通过标签嵌套,可以实现复杂的交互。 开发自定义标签一般需要按照以下三个步骤来操作: 1.创建标签的处理类 每个标签都有对应的标签处理类(Tag Handler Class)。标签处理类必须实现Tag接口。可以继承javax.servlet.jsp.TagSurpport类或者javax.servlet.jsp.BodyTagSupport来创建不带体或带体的标签。JSP2.0以后引入了javax.servlet.jsp.tagext.SimpleTagSupport,可以用于建立简单的标签。 、 2.创建标签库描述文件 标签库描述文件(Tag Library Descriptor File,简称TLD),该文件采用XML文件格式,提供了标签库中类和JSP中对标签引用的映射关系。 3. 在JSP中使用标签 首先在JSP中使用@taglib指令来声明对标签的引用。例如: %@ taglib uri=/mytaglib prefix=mytag% 也可以使用绝对路径: %@ taglib uri=/WEB-INF/mytaglib.tld prefix=mytag% 然后再使用标签。例如: mytag:YbUserTagHandler/ 案例6-1 设计博客网站的博文分类标签 设计两个标签:一个是博文分类目录标签用于博客界面的左侧栏,一个是博文分类下拉列表表用于发表文章时选择分类。前者运行效果如图6-1所示,后者运行效果如图6-2所示。 〖技术要点〗 先建立标签描述文件命名为mytag.tld,这样在NetBeans下建立标签可以自动生成标签描述。 在blog.tag包下建立标签处理类,标签处理类中使用工厂类建立业务逻辑对象。 两个标签都包含blogId属性和categroyId属性。前者用于查出属于该博客的所有博文类别;后者用于表示当前分类。 6.2 表达式语言EL和 标准标签库JSTL EL表达式语言 所有EL都是以“${”起始,以“}”结尾的,通过“.”或“[]”存取数据。例如: ${requestScope.msg} 相当于 %= request.getAttribute(msg) % 甚至可以简化为: ${msg} requestScope表示范围为request,即在Request中寻找。如果不指定,依次在Page,Request,Session,Application范围寻找。假如途中找到msg,就直接返回,不再继续找下去,但是假如全部的范围都没有找到时,就返回null。 标准标签库JSTL 下面重点介绍一下核心标签库。 c:out 用于在JSP中显示数据。 例如,显示用户的用户名,如为空则显示guest: c:out value=${user. userName} default=guest/ c:set 用于保存数据,它的属性如表6-5所示。 例如,将test.testinfo的值保存到session的test2中,其中test是一个JavaBean的实例,testinfo是test对象的属性: c:set value=${test.testinfo} var=test2 scope=session / c:remove 用于删除数据,它的属性如表6-6所示。 例如,从session中删除test2变量: c:remove var=test2 scope=session/ c:if 用于判断。 例如,如果user.userSex值为“先生”,则显示user is men: c:if test=${user.userSex==先生} user is men. /c:if c:choose 用于多选择情况,不接受任何属性,与c:when和c:otherwise标签配合使用

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档