程序员人生 网站导航

JSTL(必会使用)

栏目:互联网时间:2014-10-02 08:00:00
关键字:

JSTL标签:

JSTL它是什么?

JSP标准标记库(Standard Tag Library)JSTL是一组以标准化格式实现许多通用的Web站点功能的定制标记。

JSP技术的优势之一在于其定制标记库工具。除了核心JSP标记,如:jsp:include之外,定制标记库工具使您能够创建唯一的标记来描述以站点或应用程序为导向的操作。一旦您创建了定制标记库(简称 taglib),当您扩展项目或转向另一个项目时您可以重复使用这些标记。您还可以将tagllib传递给其它开发人员,从而他们可以在自己的网站上使用,或者在您的Web应用程序的其他部分使用。

JSTL的目的是为了简化JSP页面的设计。对于页面设计人员来说,使用脚本语言(默认值是JAVA语言)操作动态数据是比较困难的,而采用标签和表达式语言相对容易一些,JSTL的使用为页面设计人员和程序开发人员的分工协作提供了便利。

  • 配置JSTL
  1. 包括两个JAR文件,jstl.jar和standard.jar。
  2. 原文引入:<%@ prefix="c" taglib="" uri="http://java.sun.com/jsp/jstl/core">,<%@ prefix="sql" taglib="" uri="http://java.sun.com/jsp/jstl/sql"> ,<%@ prefix="fmt" taglib="" uri="http://java.sun.com/jsp/jstl/fmt"> 。
  • Core标签库
Core标签库主要包括了一般用途的标签、条件标签、迭代标签和URL相关的标签。在JSP页面使用Core标签,要使用taglib指令,指定引用的标签库如下:
<%@ prefix="c" taglib="" uri="http://java.sun.com/jsp/jstl/core">
<%@ prefix="c" taglib="" uri="http://java.sun.com/jsp/jstl/core"><%@ prefix="sql" taglib="" uri="http://java.sun.com/jsp/jstl/sql"><%@ prefix="fmt" taglib="" uri="http://java.sun.com/jsp/jstl/fmt">一般用途的标签有:
1.
用于计算一个表达式并将结果输出。类似于JSP中的<%=>表达式,或者是EL中${el-expression}。
2.

用于设置范围变量的值或者JAVABEAN对象的属性。

比如:<%@ prefix="c" taglib="" uri="http://java.sun.com/jsp/jstl/core"><%@ prefix="c" taglib="" uri="http://java.sun.com/jsp/jstl/core"><%@ prefix="sql" taglib="" uri="http://java.sun.com/jsp/jstl/sql"><%@ prefix="fmt" taglib="" uri="http://java.sun.com/jsp/jstl/fmt"><%=>这样就相当于设置了session。

3.

相对<%@ prefix="c" taglib="" uri="http://java.sun.com/jsp/jstl/core"><%@ prefix="c" taglib="" uri="http://java.sun.com/jsp/jstl/core"><%@ prefix="sql" taglib="" uri="http://java.sun.com/jsp/jstl/sql"><%@ prefix="fmt" taglib="" uri="http://java.sun.com/jsp/jstl/fmt"><%=>其作用是移除范围变量。

比如:

4.

用于捕获在其中嵌套的操作所抛出的异常对象,并将异常信息保存到变量中。

我们将有可能抛出异常的代码放置到开始标签:<%@ prefix="c" taglib="" uri="http://java.sun.com/jsp/jstl/core"><%@ prefix="c" taglib="" uri="http://java.sun.com/jsp/jstl/core"><%@ prefix="sql" taglib="" uri="http://java.sun.com/jsp/jstl/sql"><%@ prefix="fmt" taglib="" uri="http://java.sun.com/jsp/jstl/fmt"><%=>和结束标签:之间。如果其中代码出现异常,异常对象将被捕获,保存在var声明的变量中,该变量总是有page范围。如果没有发生异常,而var所标识的范围变量将被移除。如果没有指定var属性,异常只是简单的被捕获,异常信息并不会被保存。

Eg:

<%

int i = 5;

int j = 0;

int k = i / j;

%>

 

 

<%@ prefix="c" taglib="" uri="http://java.sun.com/jsp/jstl/core"><%@ prefix="c" taglib="" uri="http://java.sun.com/jsp/jstl/core"><%@ prefix="sql" taglib="" uri="http://java.sun.com/jsp/jstl/sql"><%@ prefix="fmt" taglib="" uri="http://java.sun.com/jsp/jstl/fmt"><%=><%相当于:exception.getMessage()。

条件标签包括:<%@ prefix="c" taglib="" uri="http://java.sun.com/jsp/jstl/core"><%@ prefix="c" taglib="" uri="http://java.sun.com/jsp/jstl/core"><%@ prefix="sql" taglib="" uri="http://java.sun.com/jsp/jstl/sql"><%@ prefix="fmt" taglib="" uri="http://java.sun.com/jsp/jstl/fmt"><%=><%

1.

用于实现JAVA中的if语句功能。

This is your first visit.

 

若为true,会打印中间部分。也可以声明var,方便下一步判断。

2.

<%@ prefix="c" taglib="" uri="http://java.sun.com/jsp/jstl/core"><%@ prefix="c" taglib="" uri="http://java.sun.com/jsp/jstl/core"><%@ prefix="sql" taglib="" uri="http://java.sun.com/jsp/jstl/sql"><%@ prefix="fmt" taglib="" uri="http://java.sun.com/jsp/jstl/fmt"><%=><%一起实现互斥条件执行,类似于JAVA中的if else。

<%@ prefix="c" taglib="" uri="http://java.sun.com/jsp/jstl/core"><%@ prefix="c" taglib="" uri="http://java.sun.com/jsp/jstl/core"><%@ prefix="sql" taglib="" uri="http://java.sun.com/jsp/jstl/sql"><%@ prefix="fmt" taglib="" uri="http://java.sun.com/jsp/jstl/fmt"><%=><%一般作为的父标签。

Eg:

初学下海

 

 

<%@ prefix="c" taglib="" uri="http://java.sun.com/jsp/jstl/core"><%@ prefix="c" taglib="" uri="http://java.sun.com/jsp/jstl/core"><%@ prefix="sql" taglib="" uri="http://java.sun.com/jsp/jstl/sql"><%@ prefix="fmt" taglib="" uri="http://java.sun.com/jsp/jstl/fmt"><%=><%row.v_money < 20000}">

身手小试

 

商业能手

 

 

迭代标签:

遍历结果集:

 

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

 


<%=rank%>

<%rank++;%>

<%rank++;%>

 

<%rank++;%>

设定固定次数:

${i}

 

如果再加个step = "2"那么每次增长为2。
  • sql标签库

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

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

设置数据源:

将数据库某查询的结果声明为一个变量:

select player_name,money from tb_player order by money DESC LIMIT 10   
       
然后可以:
        
 advCosts[${s.index}]=${row.adv_cost};   


<%<%@ prefix="c" taglib="" uri="http://java.sun.com/jsp/jstl/core"><%@ prefix="c" taglib="" uri="http://java.sun.com/jsp/jstl/core"><%@ prefix="sql" taglib="" uri="http://java.sun.com/jsp/jstl/sql"><%@ prefix="fmt" taglib="" uri="http://java.sun.com/jsp/jstl/fmt"><%=><%<%rank++;%><%@ prefix="sql" taglib="" uri="http://java.sun.com/jsp/jstl/sql">       
数据更新标签:
            
call proc_set_role_salespro(?,?,?,?,?);                
                 
            
                 
                 
                            



SELECT COUNT(*) as total FROM tb_channel WHERE game_id=?
AND begin_round AND player_id=?
AND channel_flag=0
 
 
 

       
 

调用存储过程更新数据库:


 
  call proc_set_role_product(?,?,?,?,?,?,?,?);
 
 
 
 
 
 
 
 
 


<%rank++;%><%@ prefix="sql" taglib="" uri="http://java.sun.com/jsp/jstl/sql">
  • 格式化标签

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

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


将输出 12.300. 应用样式 ".000",将使格式化后的小数部分有 3 位。不足 3 位将以 0 补齐。       
       
格式化的结果是: 2007-5-27


格式化的结果是: 9:25:11


格式化的结果是: 2007-5-27 9:25:11
补充知识点:
1. 替换 request.getParameter("test"):

    



<%rank++;%><%@ prefix="sql" taglib="" uri="http://java.sun.com/jsp/jstl/sql"><%@ prefix="fmt" taglib="" uri="http://java.sun.com/jsp/jstl/fmt">2.


3.

 





<%4.<%@ prefix="c" taglib="" uri="http://java.sun.com/jsp/jstl/core"><%@ prefix="c" taglib="" uri="http://java.sun.com/jsp/jstl/core"><%@ prefix="sql" taglib="" uri="http://java.sun.com/jsp/jstl/sql"><%@ prefix="fmt" taglib="" uri="http://java.sun.com/jsp/jstl/fmt"><%=><%<%rank++;%><%@ prefix="sql" taglib="" uri="http://java.sun.com/jsp/jstl/sql"><%@ prefix="fmt" taglib="" uri="http://java.sun.com/jsp/jstl/fmt">


${name}



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

 

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐