`
flynewton
  • 浏览: 60133 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

强大的定制标记JSTL(学习笔记)

阅读更多

 

1.JSTL不是JSP规范的一部分,使用JSTL之前,需要将jstl.jar文件安装到Web应用的WEB-INF/lib目录

2.使用<c:forEach> 实现循环,使用<c:if> 完成条件包含,使用<c:choose><c:when><c:otherwise> 实现有else的情况

3.使用<c:set> 设置属性(有var和target两个版本),使用<c:remove> 删除一个变量

4.使用<c:import> 实现第三种包含内容的方法,该方法可以包含Web应用之外的文件(配上<c:param> 可以实现定制页眉中使用子标题等功能)

5.JSP中会话跟踪时自动发生的,如果用page指令禁用了会话跟踪,则可以使用<c:url> 完成URL重写

  • 作用等价于servlet中的response.encodeURL
  • <c:url> 的体中使用<c:param> ,可以完成URL重写和URL编码(如URL中的空格替换为“+”)

6.<error-page>DD标记 为整个Web页面指定错误页面(如果JSP有errorPage page指令,则优先使用指令)

7.JSP中exception隐式对象只对错误页面可用(有明确定义的page指令):<%@ page isErrorPage=”true”%>

  • 把有风险的EL或者标记调用包在<c:catch> 的体中,异常就会被捕获
  • 只有正式指定的错误页面才能得到异常对象,其他页面得不到异常
  • <c:catch> 中使用var属性,它会把异常对象放在页面作用域,于是在<c:catch>后的代码中获得异常相关信息
  • 一旦出现异常,会发生2件事:@如果选用了var属性,会把异常对象赋给这个变量 @控制流直接跳到<c:catch>标记体的后面

8.标记库描述文件TLD描述了2个主要内容:定制标记和EL函数 @要理解TLD

  • URI是TLD的唯一标识符
  • 定制标记处理器不使用定制的方法名,方法名必须是doTag( )
  • <rtexprvalue> 告诉你属性的值是在转换时计算,还是在运行时才计算;如果<rtexprvalue> 为false或者未定义,那么属性值只能是一个String直接量
  • <rtexprvalue> 为true时,可使用3种表达式:EL表达式,脚本表达式,<jsp:attribute> 标准动作
  • taglib<uri>只是一个名,而不是一个位置  @重要的是TLD中的<uri>要与taglib指令中的uri匹配
  • 理解JSP,TLD,bean属性类之间的关系(Head First P480的图)
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics