JSTL使用总结(1) 核心标签库和SQL标签库

JSTL是JSP的标准标签库,他提供了许多非常实用的功能,免去了我们自定义标签的麻烦,从而达到在JSP页面中无Scriptlet的效果。

JSTL只是方便了我们开发,如果不使用,并不会妨碍我们开发,一般JSTL是与表达式语言一起使用的。

JSTL1.2的包在MyEclipse中配置struts时能够取得。


一、JSTL配置


把JSTL.jar放入tomcat\lib中,并把JSTL.jar中的tld文件放入WEB-INF中,他所提供的tld文件有:

(1)c.tld 核心标签库,提供比如迭代输出等操作。

(2)fmt.tld 格式化操作。

(3)sql.tld 提供sql查询、更新等操作。

(4)x.tld 提供xml的操作。

(5)fn.tld 提供字符串的函数操作,比如contains、startsWith等操作。


二、核心标签库


1.


用于输出,一般结构如下:

value表示需要输出的值;

escapeXml表示是否需要将类似<转为"<";

default表示如果value为null,则输出此语句;


2.


用于设置内置对象属性或自定义对象属性,一般结构如下:

(1)

var表示属性的名称;

value表示属性的值;

scope表示存储的范围;

(2)

target表示对象名称;

property表示属性名称;

value表示属性的值;


3.


用于移除内置对象属性;一般结构如下:

var表示属性名称;

scope表示属性范围;


4.


用于捕获异常,类似try - catch;一般结构如下:

语句

var用来保存异常的信息;


5.


类似if语句,一般结构如下:

执行语句

test 表示判断;

var表示保存判断结果;

scope表示结果保存范围;


6.


用于多重判断;一般结构如下:

 

语句

语句

语句


7.


用于迭代输出;一般结构如下:

${var}

items表示输出的集合;

var表示迭代器的元素;

begin表示从哪个索引开始;

end表示到哪个索引结束;

step表示输出的间隔;


8.


用于分隔字符串并迭代输出;一般结构如下:

${var}

items表示字符串;

delims表示分隔符;

var表示迭代器;


9.


用于客户端跳转,一般结构如下:

    可以传递参数;


10.


包含某个网页,一般结构如下: 

var表示保存的导入内容对象。

代码实例:

<%@ page contentType="text/html" pageEncoding="GBK" import="java.util.*"%>
<%@ taglib prefix="c" uri="jstl/c"%>


	
		
	
	
	<%
		per.setName("xiazdong");
		per.setAge(20);
		pageContext.setAttribute("per",per);
	%>
	
	
	
	
	

姓名:${name}

属性为:${attr}

删除后,属性为:${attr}

30比10大

<% pageContext.setAttribute("num",15); %>

num小于15

num大于15

num等于15

<% List list = new ArrayList(); list.add("A"); list.add("B"); list.add("C"); list.add("D"); pageContext.setAttribute("list",list); %> ${iter}、
${iter}、
${ite}、


三、SQL标签库

 

SQL标签库的作用就是只需要一个标签就可以进行数据库连接、增删改查操作;非常方便,但是违背了MVC设计模式:JSP中只有显示操作。

 

1.

 

此标签用于进行数据库连接,形如:

这样就连接了数据库。

 

2.

 

此标签用于查询,形如:

var中的result存放了结果,查询后怎么显示呢?

startRow表示开始显示的是第几行。

maxRows表示一页能够显示的行数。

因此这个标签可以用于分页

 

     ${iter.name}

     ${iter.age}

即可进行迭代输出.

${result.rowCount}返回行数;

3.

 

此标签用于更新数据库记录,形如:

 

4.进行类似PreparedStatement功能

 

PreparedStatement能够通过?进行SQL语句的填充,再通过set进行设置。在JSTL中,也是可以实现的,

通过

形如:

request.setAttribute("n","xiazdong");

     

 

<%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ taglib prefix="c" uri="jstl/c"%>
<%@ taglib prefix="sql" uri="jstl/sql"%>

	
	
		
		
		
			
${iter.empno} ${iter.ename}
<% request.setAttribute("name","zzz"); request.setAttribute("date",new java.util.Date()); request.setAttribute("id","2"); %>


四、XML标签库


XML标签库的作用就是能够简单操作XML文件,封装了DOM或者SAX的复杂的步骤,比如DOM解析必须:DocumentBuilderFactory、DocumentBulder等一系列的准备;而JSTL只需要一个标签即可。


1.XPath介绍


在XML标签库中必须要使用XPath,XML文件就像一棵树,XPath能够找到XML中的一个节点。

/    表示根节点;

//   表示任意路径子节点;

../   表示父节点;

@ 表示属性


2.


此标签用于输出,形如:

select中的内容就是XPath,我们需要找到某个节点 ,并输出其内容。


3.


此标签用于解析XML文件,形如:

doc表示xml文件对象;

var表示解析完的根节点;

一般都是以:

进行导入并解析;


4.


将xml中某个节点的内容保存到一个属性中去;形如:

select表示XPath路径;

var表示保存的属性;

scope表示保存范围;


5.


此标签类似核心标签库中的,功能是多重判断;

    //是否存在XPath路径

......


6.


迭代输出内容,比如:


	
		xiazdong
		20
	
	
		xzdong
		15
	
我们就可以迭代输出person的内容;因为有两个person;


下面就是迭代输出以上person节点的代码:

<%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ taglib prefix="c" uri="jstl/c"%>
<%@ taglib prefix="x" uri="jstl/x"%>

	
	
		
		
		
		
		
		
			





 



转载于:https://www.cnblogs.com/xiazdong/archive/2011/11/20/3058117.html

你可能感兴趣的:(数据库,开发工具,测试)