jsp技术二

来源:互联网 发布:苹果手机怎么投屏mac 编辑:程序博客网 时间:2024/05/11 02:25
jsp自定义标签
        一、控制JSP某个内容是否执行:实现Tag接口doStartTag()当returns Tag.EVAL_BODY_INCLUDE or Tag.EVAL_BODY_BUFFERED 时执行标签体当返回SKIP_BODY时不执行; 

二、控制整个JSP页面是否执行:实现tag接口doEndTag()returns EVAL_PAGE时执行当returns SKIP_PAGE时不执行;

三、控制JSP页面重复执行:实现IterationTag接口要覆盖doStartTag()和doAfterBody()两个方法;

四、修改JSP页面输出:实现BodyTagSupport接口覆盖doStartTag()返回Tag.EVAL_BODY_BUFFERED覆盖doEndTag()方法调用this.getBodyContent.getString获取标签体内容并返回EVAL_PAGE其实该方法默认返回就是EVAL_PAGE;

6、一、简单的自定义标签实现控制JSP页面某个内容是否执行SimpleTag接口覆盖doTag()方法

       JspFrament   jf  =  this.getJspBody()获得代表标签体的JspFrament

        jf.invoke(null)默认写给浏览器

二、简单的自定义标签实现控制JSP页面某个内容是否执行SimpleTag接口覆盖doTag()方法(小写变大写)

JspFrament   jf  =  this.getJspBody()获得代表标签体的JspFrament

StringWriter sw = new StringWriter ();

        jf.invoke(sw)

String content  = sw.getBuffer.toString();

content   =  content.toUpperCase();

二、简单的自定义标签实现控制标签余下的JSP页面不执行SimpleTagSupport接口覆盖doTag()方法

throw new skippageException();

7、EL表达式

${name}这句被翻译成pageContext.findAttribute("name");

.获取不到数据就用[""]来获取

8、web开发常用对象



9、EL函数开发步骤

一、编写一个Java类的静态方法

二、编写标签库描述符(tld)文件,在tld文件中描述自定义函数

三、在JSP页面中导入和使用自定义函数

注意:EL表达式不能相互嵌套

10、Sun公司定义好的EL函数

fn:toLowerCase("")大写转小写            fn:toUpperCase("")小写转大写         fn:trim("")

fn:length()返回数组大小、字符串的个数、集合大小

fn:split("aaa.bbb.ccc",".")[1]返回bbb

fn:join()将一个数组中所有元素合并成一个字符串

例如:arr为web域中的属性他表示{“www”,“it315”,“org”}

            fn:join(arr,“.”)www.it315.org

fn:indexof()                fn:contains()             fn:containsIgnoreCase()

fn:startsWith() 字符串以什么开始的            fn:replace()    替换           fn:substring()截取

  fn:substringAfter()截取什么之后                      fn:substringBefore()截取什么之前



0 0
原创粉丝点击