博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
J2EE (十) 简洁的JSTL、EL
阅读量:5366 次
发布时间:2019-06-15

本文共 3972 字,大约阅读时间需要 13 分钟。

       

  1. 简介
    1. JSTL(JSP Standard Tag Library ,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库。
    1. 由四个定制标记库(core、format、xml 和 sql)和一对通用标记库验证器(ScriptFreeTLV 和 PermittedTaglibsTLV)组成。
    1. JSTL是为了简化JSP页面,让它更加简洁尽量不包含Java代码,只进行数据显示而开发出来的一个标签库,弥补了JSP的不足。
  2. 特点
    1.  在应用程序服务器之间提供了一致的接口,最大程度地提高了WEB应用在各应用服务器之间的移植。
    1.  简化了JSP和WEB应用程序的开发。
      1. 自从有了JSTL我们不再需要写大量的Java代码,只需要小小的几个标签即可完成大的功能,例如查询数据库、显示数据、逻辑判断等等。
  3. 使用
    1. JSTL要与EL(expression language)表达式语言结合使用,标签库作用是流程控制,如果想实现某个功能要与表达式联合起来,比如是函数与控制语句一样。
    2. 使用JSTL需要引入jstl.jar和standard.jar两个包。并在JSP文件中声明标签,如下
      1. 标签代码()
    3. 核心库Core,主要通过举例来说明
      1. Servlet代码
        1. @Override	protected void doGet(HttpServletRequest request, HttpServletResponse response)			throws ServletException, IOException {		//将字符串赋值给request对象		request.setAttribute("hello", "hello world"); 		request.setAttribute("welcome", "世界欢迎你!");				request.setAttribute("v1", 9);  		request.setAttribute("v2", 10); 				//类结构		Group group=new Group();		group.setName("09生科一班");		//数组对象		List users=new ArrayList();		for(int i=0;i<10;i++)		{			User user=new User();			user.setAge(10);			user.setName("李龙生"+i);			user.setGroup(group); 						users.add(user);		}		//设置到request中		request.setAttribute("users", users);				//Map		Map map=new HashMap();		map.put("k1", "k1");		map.put("k2", "k2");		map.put("k3", "k3");		map.put("k4", "k4");		request.setAttribute("map", map);				request.setAttribute("strTokens", "1,2,3,4,5");		request.getRequestDispatcher("/Jstl_Core.jsp").forward(request, response);	}
      1. JSP代码
        1. 	

          测试JSTL核心库

        2. 采用c:out标签
        3. hello使用:
          hello使用:
          hello使用:
          hello使用:
          hello使用:
          没有值
          hello使用:
          hello使用(escapeXml):
          hello使用:${welcome} //测试大于、小于符号
        4. condition action sample
        5. v1小于v2

        6. c:when,c:choose,c:otherwise标签
        7. v1大于v2
          v1小于v2

        8. 演示循环控制标签forEach
        9. //条件标签
          //选择标签
          //否则执行这里面内容
          用户名: 年龄: 班级:
          没有符合条件的数据!
          ${user.name } ${user.age } ${user.group.name }
          //循环map里面的键值对
        10. Map循环
        11. ${entry.key },${entry.value }
          //将某个字符串,用指定的符号分割

          c:Tokens标签

          ${a }
          //将某个页面导入到当前页

          c:import标签

          c:url,c:param标签

          ${u }
    4. 格式化库Format
      1. Servlet代码
        1. @Override	protected void doGet(HttpServletRequest request, HttpServletResponse response)			throws ServletException, IOException {		request.setAttribute("today", new Date());		request.setAttribute("n", 1234567.234);		request.setAttribute("n", 0.01234); 				request.getRequestDispatcher("/jstl_fmt.jsp").forward(request, response);	}
      1. JSP代码
        1. 	

          test format date tag

          today(default)
          today(type=date)
          today(type=time)
          today(type=both)
          today(dateStype=short)
          today(dateStype=full)
          today(dateStype=long)
          today(pattern="yyyy/mm/dd hh:mm:ss")
          ${u }

          digital format tag

          n(default)
          n(pattern="###,###,###.####")
          n(pattern="###,###,###.0000")
          n(groupingUsed="false")
          n(groupingUsed="false")
          n(maxFractionDigits="8" minFractionDigits="5")

          currency tag

          n(type="currency")
          n(type="currency" currencySymbol="$")
          n(type="percent")
  1. 目前应用
    1. JSTL可以跨多种服务器运行,方便了开发和程序的移植性,现在用这种标签在Web层开发的人也越来越多,需要灵活掌握和运用。

转载于:https://www.cnblogs.com/dyllove98/p/3221844.html

你可能感兴趣的文章
MySQL各存储引擎
查看>>
项目--简单导出CSV文件
查看>>
Oracle session相关数据字典(一)
查看>>
织梦文章内容提取第一张或者多张图片输出
查看>>
C#用正则表达式 获取网页源代码标签的属性或值
查看>>
BZOJ 3399 [Usaco2009 Mar]Sand Castle城堡(贪心)
查看>>
WCF(一) 简单的认知
查看>>
[MFC][DShow]简单例子
查看>>
js onclick事件传参
查看>>
WiCloud 商业Wi-Fi管理平台
查看>>
团队项目--未完待续
查看>>
双重标准,我该怎么解决
查看>>
python中的网页标签等字符处理
查看>>
Linux常用命令(十二)
查看>>
Linux常用命令(十五)
查看>>
Linux常用命令(十四)
查看>>
Linux常用命令(十七)
查看>>
Linux常用命令(十六)
查看>>
Linux常用命令(二十四)
查看>>
4种java定时器
查看>>