美文网首页
标签模版技术 JSTL 精华一页纸

标签模版技术 JSTL 精华一页纸

作者: 轩居晨风 | 来源:发表于2017-04-11 22:08 被阅读23次

模版技术采用了EL表达式替换,逻辑控制采用了JSTL

1、循环控制

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<% request.setAttribute("items",new Integer[]{0,1,2,3,4}); %>

${item}

2、条件判断

${item}

升级版的条件判断 -- 其实就是 switch的翻译。

3、其他JSP特性控制

属性设置 – 设置属性的值(request中的属性)

1

删除属性 -- 删除属性

包含文件 类似与 的功能,除了本地文件还可以互联网文件。

模板设置 类似与功能

URL重写

Click here

Click New -- 此处的URL地址既编码了又重写了 url.jsp?firstName=john&lastName=stephone+marbury

4、异常处理

<% int x = 10/0; %>

${myException.message}

Jsp可以在web.xml统一指定异常页面,也可以自己咋page指令中 指定异常处理页面

5、JSTL标签

JSTL 一共有5个标签库

Core核心库,就是上面一些控制

格式化库,各种字符集、时区格式化

XML库 提供一些操作XML的功能

SQL库等 提供直接查询数据库的操作

JSTL的函数等 主要提供一些字符串的处理

url="jdbc:mysql://localhost/TEST"

user="root" password="pass123"/>

SELECT * from Employees;

6、自定义JSTL标签

如果这些都不能满足要求,可以自定义标签库

I、编写 *.tld 标签库文件(实现类啊等一些配置项)

II、jsp taglib指令 引入这个标签库

III、像使用标准库一样使用这个库里的方法

自定义标签二次开发类

I、继承 SimpleTagSupport 类,实现 doTag 方法,如果有方法提,在方法里调用invoke方法,和拦截器/过滤器等类似的考虑。

II、继承TagSupport类,实现doStartTag/doEndTag方法,提供标签开始和结束时的控制;还有BodySupport 类,可以实现精细的处理

III、标签还可以嵌套。

如果需要标签有属性,则类似JavaBean一样,提供类字段,提供setter函数

*.tld

MenuItem tag

MenuItem

foo.MenuItem

-- 有属性时配置

itemValue

true

true

public class MenuItem extends TagSupport{

private String itemValue;

public void setItemValue(String value){

itemValue = value;

}

public int doStartTag(){

return EVAL_BODY_INCLUDE;

}

public int doEndTag(){

Menu parent = (Menu)getParent();

parent.addMenuItem(itemValue);

return EVAL_PAGE;

}

}

public class Menu extends TagSupport{

private ArrayList items;

public void addMenuItem(String item){

items.add(item);

}

public int doStartTag(){

items = new ArrayList();

return EVAL_BODY_INCLUDE;

}

public int doEndTag() throws JspException{

//这里可以对item做处理

return EVAL_PAGE;

}

需要注意的是标记处理器并不能直接访问隐式对象,只能通过jspContext/pageContext进行处理。

相关文章

  • 标签模版技术 JSTL 精华一页纸

    模版技术采用了EL表达式替换,逻辑控制采用了JSTL 1、循环控制 <%@ taglib prefix="c" u...

  • JAVA Web学习(18)___第12章JSTL标签

    第12章JSTL标签 12.1 JSTL标签库简介 根据JSTL标签所提供的功能,可以将其分为5个类别。 核心标签...

  • 【JavaWeb】JSTL标签库

    JSTL标签库 JSTL标准标签库;JSTL用于简化JSP开发,提高代码的可读性与可维护性;JSTL由SUN(Or...

  • jstl标签库

    一、jstl标签库 jstl是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言。js...

  • 一页纸读书模版

    书名: 作者: 读书开始日期:2019.01.01 读书时长:15天 第1本书 简单书评(5分...

  • 2018-10-06

    JSTL概念 JSTL(JavaServer Pages Standard Tag Library,JSP标准标签...

  • 2018-10-06

    JSTL概念 JSTL(JavaServer Pages Standard Tag Library,JSP标准标签...

  • 【Java】【JSTL】标准包

    JSTL (JavaServerPages Standard Tag Library)JSP标准标签库 JSTL的...

  • 5.Jsp标签

    1.Jsp标签 1.Jsp标签的作用 2. Jsp标签分类 3.Jsp内置标签 4.JSTL标签 5.JSTL使用...

  • 2018-11-03

    学习jstl的标签

网友评论

      本文标题:标签模版技术 JSTL 精华一页纸

      本文链接:https://www.haomeiwen.com/subject/ojfpattx.html