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

模版技术采用了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进行处理。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1什么是JSTLJSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言!JSTL...
    TY_阅读 2,990评论 0 1
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,105评论 18 399
  • 一. Java基础部分.................................................
    wy_sure阅读 9,291评论 0 11
  • JSP 基本结构JSP 页面组成:模板文本(HTML,XML,纯文本),JSP 元素;JSP 元素:脚本元素,指令...
    jslancer阅读 4,545评论 0 11
  • 主持人:@Tsuseven 嘉宾:David JIAO 翻译:deioris 中文记录:chopper 英文记录:...
    NuLink_zh阅读 1,873评论 0 0

友情链接更多精彩内容