Ognl_JSTL_学习笔记_第1页
Ognl_JSTL_学习笔记_第2页
Ognl_JSTL_学习笔记_第3页
Ognl_JSTL_学习笔记_第4页
Ognl_JSTL_学习笔记_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

控制标签控制标签 使用 Struts2 标签必须先导入标签库 在页面使用如下代码导入 Struts2 标签 if elseif else 标签 60 老年人 35 中年人 15 青年人 少年儿童 Action 提示信息提示信息 actionerror 和 actionmessage 标签 这两个标签都是用来输出 Action 实例里封装的信息 actionerror 负责输出 Action 实例的 getActionErrors 方法的返回值 actionmessage 负 责返回 Action 实例的 getActionMessages 方法的返回值 Action 代码 public Class TestAction public String execute addActionError 出错了 addActionMessage 请联系系统管理员 在页面中使用标签输出 表单标签表单标签 Struts2 提供了很多表单标签 大部分表单标签和 HTML 表单标签之间有一一对应的关系 这里只介绍一些比较特殊的表单标签 对于表单标签而 言 name 和 value 存在一个特殊的关系 每个表单元素会被映射成 Action 属性 使用 Struts2 标签必须先导入标签库 在页面使用如下代码导入 Struts2 标签 textfield 标签 checkboxlist 标签 使用简单集合来生成多个复选框 使用简单 Map 对象来生成多个复选框 使用创建的放有多个对象的 JavaBean 对象来生成多个复选框 public class BookService public Book getBooks return new Book new Book Java 编程思想 李刚 newBook J2EE 企业应用实战 李刚 public class Book private String name private String author public Book String name String author this name name this author author getter request setAttribute bj HTML action 中把值送出来 escapeXml 是否脱离 XML 语法 不是的话 就还是按照 HTML 语法解析 输出结果 北京欢迎你 c set c remove c set 等于在 page 级别 setAttribute 一个值 在当前页面用 c out 可以接收到 例如 c remove 就是把一个属性值从当前 page 中删了 例如 c if 就是个条件分支语句 只能表达出 if 没有 else c if test 1 1 2 result 输出结果 1 2 true c choose c when c otherwise 其实也是个条件分支语句 不过这次可以形成 if else 的组合了 c when 就是 if c otherwise 就是 else 要注意的是 c when c otherwise 必须写在 c choose 标签的里面 c when test v1 v1 v2 v1 v2 c forEach 就是个循环 这里的 var 相当于把一个对象 Attribute 取出来后 给这个对象起的名字 也就是这 个对象的引用 下面就可以用这个引用来显示该对象的属性 user username user age user group name 输出结果如下 name age group 選手 0 20 AC milan 選手 1 21 AC milan 選手 2 22 AC milan 選手 3 23 AC milan 選手 4 24 AC milan c forEach 中的 varStatus 属性 varStatus 可以记录本次循环的一些信息 比如现在循环到第几次啦 就是 vs count 下面这个例子 当 循环进行到偶数次时 改变背景颜色为黄色 如果是偶数次 背景色变为黄色 如果步是偶数次 背景色不变 user username user age user group name 输出结果如下 name age group 選手 0 20 AC milan 選手 1 21 AC milan 選手 2 22 AC milan 選手 3 23 AC milan 選手 4 24 AC milan c forEach 中的 begin end step 属性 begin 从哪里开始循环 end 到哪里结束 step 每次循环的步长 可以用 c forEach 接受的除了 List 还有 Map 接受 Map 的时候还可以分别取出 key 和 value 的值 例子 v key v value c forTokens 用于有分隔符字符串的迭代 delims 属性用来设置分隔符的类型 逗号啦 斜杠啦 看例子 action 中的送值 request setAttribute forTokens 1 2 3 4 5 request setAttribute forTokens2 oracle db 9 2 0 JSP 中的接收值 分隔符为逗号 v 分隔符为斜杠 v 结果如下 1 2 3 4 5 oracle db 9 2 0 c catch 捕获异常 相当于 java 语法的 try catch 可以用 c catch 的 var 属性打印异常信息 v 输出结果 java lang NumberFormatException For input string heihei c import 相当于 include 在当前页中引入另一个页面 用法如下 c redirect 重定向 结果 当前页面会重定向到 http localhost 8080 struts JSTL EL index jsp 去 就这么个事 格式化库 格式化库 fmt 在 JSP 中加入支持标签的语句 先贴一段在 action 中的传值 后面的格式化时间和格式化数字都会用到 request setAttribute today new Date request setAttribute number 1234566 678 request setAttribute percent 0 12345 格式化时间 fmt formatDate 输出结果 2009 04 22 输出结果 2009 04 22 输出结果 18 24 21 输出结果 2009 04 22 18 24 21 格式化数字 fmt formatNumber 输出结果 1 234 566 678 type 默认是数字且有逗号分隔 输出结果 1 234 566 68 pattern 和 struts 中的一样 输出结果 1 234 566 6780 小数点后不够 4 位就补零 输出结果 1 234 566 68 type 设为通货 currencySymbol 设美元符号 输出结果 12 type 设为百分数 输出结果 12 34 type 设为百分数 且小数点后最大最小都留 2 位 Jsp 自定义标签自定义标签 Jsp 页面中通过 xml 语法格式被调用 当 JSP 引擎将 JSP 页面翻译成 Servlet 时 就将这些调用转换成执行相应的 Java 代码 例子 实现在页面输出一个指定范围的随机数 标签 第一步 编写标签类 实现标签类的方法有很多 最简单的方法是从 javax servlet jsp tagext TagSupport 类继承 java 代码 package com test mytag public calss RandomTag extends TagSupport private int min 0 标签中的属性 min 默认值设置为 0 private int max Integer MAX VALUE 标签中的属性 max 默认值设置为 int 类型的最大值 public void setMin int min this min min public void setMax int max this max max public int doStartTag throws JspException try Random random new Random int result min random nextInt max min pageContext getOut write String valueOf result 输出随机数 pageContext 变量是在 TagSupport 类中定义的一个类变量 该变量通过 TagSupport 类中的 setPageContext 方法赋值 setPageContext 方法是在 Tag 接口中定义的 而 TagSupport 实现了 Tag 接口的 setPageContet 方法 Servlet 容器在调用 doStartTag 方法前会先调用 setPageContext 方法 catch IOException e System out println error TagSupport 类的 doStartTag 方法默认返回 SKIP BODY 表示忽略自定义标签体 return su

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论