JSP标准标签库

JSP标准标签库

    Pass by xkk and author is not clear

 

1. JSTL简介

  JSTL全名JspServer Pages Standdard Tag Library(Jsp标准标签库),它是sun公司发布的一个针对JSP开发的新组件,它允许使用标签开发Jsp页面.

   JSTL是一个标准的已制定好的标签库,它可以应用到很多领域. 如:基本输入输出、流程控制、循环、XML文件剖析、数据库查询及国际化和文字格式标准化的应用等。

  JSTL所提供的标签库主要分为五大类:


JSTL


前置名称


URI


范例


核心标签库


c


http://java.sun.com/jsp/jstl/core


<c:out>


I18N格式标签库


fmt


http://java.sun.com/jsp/jstl/fmt


<fmt:formatDate>


SQL标签库


sql


http://java.sun.com/jsp/jstl/sql


<sql:query>


XML标签库


Xml


http://java.sun.com/jsp/jstl/xml


<x:forEach>


函数标签库


fn


http://java.sun.com/jsp/jstl/functions


<fn:split>

 

2.核心标签库

 


功能分类


标签名称


表达式操作


out、set、remove、catch


流程控制


if、choose、when、otherwise


迭代操作


forEach、forTokens


URL操作


import、param、url、redirect

       2.1<c:out>

         功能: <c:out>主要用来显示数据的内容

           属性列表:


名称


说明


必须


默认值


value


需要显示出来的值




default


如果value的值为null,则显示default的值




escapeXml


是否转换特殊字符,如:<转换成&lt;



true

 

       实例:使用核心标签库,并输出数据

       步骤一:将标签库中所有的.jar(内部是所有的标签处理器)放到/WEB_INF/lib,将所有的.tld(内部是所有的标签库描述)放到/WEB-INF/tlds

步骤二:Jsp页面中引用核心标签(c_out.jsp)

<%@ page contentType="text/html;charset=gbk" language="java"%>

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

 

<%--default的两种使用方式--%>

<%--如果在uri中输入参数name=jgl,则显示输入的value中的值,否则显示默认信息(default)--%>

<c:out value="${param.name}" default="welecome jgl to my website!"/>

<c:out value="${param.name}">welecome jgl to my website!</c:out>

 

<%--value属性是必添的,escapeXml属性是true时,不解析特殊字符,false时,解析特殊字符--%>

<c:out value="${param.name}" ecapeXml="false">&lt;c:out&gt;</c:out>

2.2<c:set>

功能: <c:set>主要用来将变量存储至JSP范围中 或是JavaBean的属性或Map对象中。

属性列表:

 


名称


说明


必须


默认值


value


要被存储的值




var


欲存入的变量名称




scope


var变量的JSP范围



page


target


JavaBean或Map对象




property


指定target对象的属性



      

 实例1:将变量设置到Jsp范围内,并输出

<%--将变量定义在Jsp范围内--%>

<%--value属性的两钟使用方式--%>

<c:set var="username" value="jack" scope="session"/>

<c:set var="pwd" scope="session">000</c:set>

<%--通过el表达式语言输出--%>

${sessionScope.username}

${sessionScope.pwd}

<%--通过jstl中<c:out>标签输出--%>

<c:out value="${sessionScope.username}"/>

实例2:将变量设置到javaBean对象内,并输出

<jsp:useBean id="stu" class="net.pcedu.student"/>

<%--通过<c:set>标签给javaBean对象的age属性设值--%>

<c:set value="16" target="${stu}" property="age"/>

<%--输出javaBean对象的属性值--%>

年龄:<c:out value="${stu.age}"/>

2.3<c:remove>

功能:主要负责移除变量

属性列表:


名称


说明


必须


默认值


var


欲移出的变量名称




scope


Var变量的JSP范围



page

 

:

<c:remove var="username" scope="session"/>

${sessionScope.username}—输不出结果

2.4<c:catch>

功能:主要用于捕获异常

属性列表:


名称


说明


必须


默认值


var


用来储存错误信息的变量



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

<%@ page contentType="text/html; charset=gb2312" language="java" %>

<%--捕获异常,并将异常信息存储在var变量中--%>

<c:catch var="myexp">

<%

int i=0;

int j=3/0;

%>

</c:catch>

<h1>异常</h1>

<hr>

<c:out value="${myexp}"></c:out><%--输出异常--%>

<hr>

<h1>异常信息</h1>

<c:out value="${myexp.message}"/><%--获取异常信息--%>

<hr>

<h1>引起原因</h1>

<c:out value="${myexp.cause}"/><%--获取引起异常的原因--%>

2.5<c:if>

功能:主要用于进行if判断,如果为true,则输出标签体中的内容


名称


说明


必须


默认值


test


如果表达式的结果为true,则执行体内容,false则相反




var


用来存储test运算的结果(true或false)




scope


Var变量的JSP范围



page

实例:利用<c:set>标签设置javaBean的属性age,在jsp页面中获取age,如果age<18,输出相应信息

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

<%@ page contentType="text/html; charset=gb2312" language="java" %>

<%--jsp页面默认是true,EL表达式被忽略--%>

<%@ page isELIgnored="false"%>

<%--定义一个javaBean对象--%>

<jsp:useBean id="stu" class="net.pcedu.student"/>

<%--通过<c:set>标签给javaBean对象的age属性设值--%>

<c:set value="16" target="${stu}" property="age"/>

<%--输出javaBean对象的属性值--%>

年龄:<c:out value="${stu.age}"/>

<%--当if判断为true时,输出标签体的内容--%>

<c:if test="${stu.age<18}" var="young" scope="session">对不起,未成年,不能访问这个网站...</c:if>

<%--输出if语句的判断结果--%>

判断结果:<c:out value="${sessionScope.young}"/>

2.6<c:choose>,<c:when>,<c:otherwise>

<c:when>中属性列表:


名称


说明


必须


默认值


test


如果表达式的结果为true,则执行本体内容,false则相反



实例:javaBean中获取color属性,并根据不同的属性值显示不同的颜色

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

<%@ page contentType="text/html; charset=gb2312" language="java" %>

<%@ page isELIgnored="false"%>

<%--定义一个Color对象--%>

<jsp:useBean id="c" class="net.pcedu.Color"/>

<%--为Color对象设置属性--%>

<c:set value="blue" target="${c}" property="color"/>

<%--获取Color对象的属性值,并根据不同的属性值显示不同的颜色--%>

<c:out value="${c.color}"></c:out>

<c:choose>

    <c:when test="${c.color eq 'red'}">

       <font color=red face="华文行楷">你选择的颜色是:<c:out value="${c.color}"/></font>

    </c:when>

    <c:when test="${c.color eq 'blue'}">

       <font color=blue face="华文行楷">你选择的颜色是:<c:out value="${c.color}"/></font>

    </c:when>

    <c:otherwise>

       <font color=green face="华文行楷">你选择的颜色是:<c:out value="${c.color}"/>

    </c:otherwise>

</c:choose>

2.7<c:forEach>

功能: <c:forEach>为循环控制,它可以将数组,集合(Collection)中的成员循序浏览一遍。

属性列表:

 


名称


说明


必须


默认值


var


用来存放现在指定的成员




items


被迭代的集合对象




varStatus


用来存放现在指的相关成员信息




begin


开始的位置



0


end


结束的位置



最后一个成员


step


每次迭代的间隔数



1

实例:

<%@ page contentType="text/html;charset=gbk"%>

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

<%@ page import="java.util.*,net.pcedu.core.UserInfo" %>

<%--将javabean对象存放到集合中--%>

<%

List users=new ArrayList();

for(int i=0;i<5;i++)

{

UserInfo u=new UserInfo();

u.setName("jack-"+i);

u.setPwd("00"+i);

users.add(u);

session.setAttribute("users",users);

}

%>

<%--注意:EL中只可通过11个隐含对象来输出表达式中的内容(因此直接将List对象添加到EL表达式中不可用)--%>

<%--通过<c:forEach>迭代出集合中的信息>--%>

<h1>用户信息</h1>

<table>

  <tr>

    <th>用户名</th>

    <th>密码</th>

    <th>当前行的索引</th>

    <th>已遍历的行数</th>

    <th>是否第一行</th>

    <th>是否最后一行</th>

  </tr>

  <c:forEach var="user" items="${users}" varStatus="status"><%--加上begin="1" end="3" step="1"属性,将只显示前三条记录--%>

  <tr>

    <td><c:out value="${user.name}"/></td>

    <td><c:out value="${user.pwd}"/></td>

    <td><c:out value="${status.index}"/></td><%--输出当前行的索引号--%>

    <td><c:out value="${status.count}"/></td><%--输出已遍历的行数--%>

    <td><c:out value="${status.first}"/></td><%--输出当前行是否是第一行--%>

    <td><c:out value="${status.last}"/></td><%--输出当前行是否是最后一行--%>

  </tr>

  </c:forEach>

</table>

 

<%--通过<c:forEach>输出从1到10的数据--%>

<c:forEach var="num" begin="1" end="10" step="2">

<c:out value="->${num}"></c:out>

</c:forEach>

 

<%--通过<c:forEach>遍历数组,枚举,集合等--%>

<%

int[]intarr=new int[]{10,20,30,40,50};

String[]strarr=new String[]{"I","am","a","handsome","boy"};

Vector v=new Vector();

v.add("This");

v.add("is");

v.add("a");

v.add("Enumeration");

v.add("example");

Enumeration e=v.elements();

HashMap h=new HashMap();

h.put("hello","0");

h.put("hello1","1");

h.put("hello2","2");

h.put("hello3","3");

h.put("hello4","4");

request.setAttribute("intarr",intarr);

request.setAttribute("strarr",strarr);

request.setAttribute("e",e);

request.setAttribute("h",h);

%>

<br>

<h1>--遍历整形数组--</h1>

<%--遍历整形数组--%>

<c:forEach var="i" items="${intarr}">

<c:out value="${i}"></c:out>

</c:forEach>

 

<br>

<h1>--遍历字符串数组--</h1>

<%--遍历字符串数组--%>

<c:forEach var="s" items="${strarr}">

<c:out value="${s}"></c:out>

</c:forEach>

 

<br>

<h1>--遍历枚举--</h1>

<%--遍历枚举--%>

<c:forEach var="ee" items="${e}">

<c:out value="${ee}"></c:out>

</c:forEach>

 

<br>

<h1>--遍历HashMap--</h1>

<%--遍历HashMap--%>

<c:forEach var="hh" items="${h}">

<c:out value="${hh.key}"/>=<c:out value="${hh.value}"/>

</c:forEach>

 

2.8<c:forTokens>

功能:将字符串以指定的一个或多个字符分割开来

属性列表

 


名称


说明


必须


默认值


var


用来存放现在的成员




items


被迭代的字符串




delims


定义用来分割字符串的字符




varStatus


用来存放现在指定的相关成员信息




begin


开始位置



0


end


结束位置



最后一个成员


step


每次迭代的间隔数



1

 

实例:

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

<%@ page contentType="text/html; charset=gb2312" language="java" %>

 

<%--通过一个分割符将字符串划分为数组,并遍历出来--%>

<c:forTokens var="ele" items="blue,red,green|yellow|pink,black|white" delims="|">

<c:out value="${ele}"/>||

</c:forTokens>

<br>

<%--通过多个分割符将字符串划分问数组,并遍历出来--%>

<c:forTokens var="ele" items="blue,red!green|yellow;pink;black|white" delims="|;,!">

<c:out value="${ele}"/>||

</c:forTokens>

2.9<c:import>

功能: <c:import>可以把其他静态或动态文件包含至本身JSP网页。

属性列表:


名称


说明


必须


默认值


url


文件被包含的地址




context


相同容器下,其它web必须以“/”开头




var


储存被包含文件的内容




scope


var变量的JSP范围



page


charEncoding


被包含文件内容的编码格式




varReader


储存被包含的文件的内容



注意:<c:import>与<jsp:include>的区别

<jsp:include>只能包含和自己同一个Web应用程序下的文件;而<c:import>除了能包含和自己同一个Web应用程序的文件外,亦可以包含不同Web应程序或者是其它网站的文件。

       实例:包含同一个web应用程序的文件和不同webweb应用程序的文件

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

<%@ page contentType="text/html; charset=gb2312" language="java" %>

 

<%--引入绝对路径的文件--%>

<%--注意:被引入的文件将被解析为html的形式嵌入引用文件--%>

<h1>引入绝对路径的文件</h1>

<c:import url="http://127.0.0.1:8080/test/c_beimported.jsp" var="file" charEncoding="gbk"/>

<blockquote>

<pre>

<c:out value="${file}"></c:out>

</pre>

</blockquote>

 

<%--引入相对路径的文件--%>

<h1>引入相对路径的文件</h1>

<blockquote>

<pre>

<c:import url="c_beimported.jsp" var="f"/>

<c:out value="${f}"></c:out>

</pre>

</blockquote>

 

<%--传递参数到被引入文件--%>

<h1>传递参数到被引入文件</h1>

<blockquote>

<pre>

<c:import url="c_beimported.jsp" var="ff">

<c:param name="name" value="jack"/>

</c:import>

<c:out value="${ff}"></c:out>

</pre>

</blockquote>

 

       2.10.<c:url>

功能: <c:url>主要用来产生一个URL

 


名称


说明


必须


默认值


value


执行的URL




context


相同容器下,必须以“/”开头




var


储存被包含文件的内容




scope


var变量的JSP范围



page

 

实例将一个url存放到一个变量中,并输出url

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

<%@ page contentType="text/html; charset=gb2312" language="java" %>

<%--将一个url存放到一个变量中,并输出url--%>

<c:url var="myurl" value="c_beimported.jsp" scope="session">

<c:param name="name" value="jgl"/>

</c:url>

<c:out value="${myurl}"/>

 

2.11<c:redirect>

功能: <c:redirect>可以将客户端的请求从一个JSP网页导向到其它文件。

属性列表:

 


名称


说明


必须


默认值


url


导向的目标地址




context


相同容器下,必须以“/”开头



 

 

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

<%@ page contentType="text/html; charset=gb2312" language="java" %>

 

<%--通过<c:url>获得url--%>

<c:url value="c_beimported.jsp" var="test"><c:param name="name" value="jgl"/></c:url>

<%--通过<c:redirect>重定向到获得的url上--%>

<c:redirect url="${test}"/>

 

<%--通过<c:url>获得url--%>

<c:url value="c_beimported.jsp" var="t"></c:url>

<%--通过<c:redirect>重定向到获得的url上(在<c:redirect>内部传参)--%>

<c:redirect url="${t}">

<c:param name="name" value="admin"/>

</c:redirect>

 

3.SQL标签库

实例:通过数据源来连接数据库

步骤一:配置上下文中的<Resource>(test.xml)

<Context docBase="G:\jstlPro\WebRoot" path="/test" reloadable="true">

<Resource

name="jdbc/mydb"

auth="Container"

type="javax.sql.DataSource"

maxActive="100"

maxIdle="30"

maxWait="10000"

username="root"

password="admin"

driverClassName="com.mysql.jdbc.Driver"

url="jdbc:mysql://localhost:3306/mydb"

/>

</Context>

步骤二:编写DbHelper.java来进行连接

package net.pcedu.util;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.naming.NamingException;

import javax.sql.DataSource;

 

public class DbHelper {

    DataSource ds;

    Connection conn;

    Statement stmt;

    ResultSet rs;

    public DataSource getDataSource()

    {

       //定义一个Context接口类型的变量

       Context context;

       try {

           //通过InitialContext(实现了Context接口的类)来实例化一个Context类型对象

           context=new InitialContext();

           //通过字符串名字查找到数据源对象

           ds=(DataSource)context.lookup("java:comp/env/jdbc/mydb");

       } catch (NamingException e) {

           e.printStackTrace();

       }     

       return ds;

    }

    public Connection getConnection()

    {

       if(ds==null)

       ds=getDataSource();

       try {

           //通过数据源来获得连接

           conn=ds.getConnection();

       } catch (SQLException e) {

           e.printStackTrace();

       }

       return conn;

    }

    public Statement getStatement()

    {

       if(conn==null)

       conn=getConnection();

       try {

           //通过连接来创建一个会话

           stmt=conn.createStatement();

       } catch (SQLException e) {

           e.printStackTrace();

       }

       return stmt;

    }

    public ResultSet getResultSet(String sql)

    {

       try {

           if(stmt==null)

           //通过会话来执行sql语句,并返回结果集

           rs=stmt.executeQuery(sql);

       } catch (SQLException e) {

           e.printStackTrace();

       }

       return rs;

    }

    public static void main(String[]args)

    {

       DbHelper db=new DbHelper();

       System.out.println(db.getConnection());

    }

}

步骤三:在Jsp页面中判断是否连接成功(index.jsp)

<%@ page contentType="text/html;charset=gbk"%>

<jsp:useBean class="net.pcedu.util.DbHelper" id="db"/>

<%

out.println(db.getConnection());

%>

3.1Javax.naming.Context 接口:

Javax.naming.Context 接口表示一个命名上下文,定义了将对象(把连接数据库的资源封装成一个对象)和名字绑定,以及通过名字查询对象的方法。查询一个命名的对象,是通过调用Context接口的lookup方法。

 

  资源文件的属性列表


属性


描述


name


指定资源相对于JAVA:COMP/ENV上下文的JNDI


auth


指定资源的管理者,它有两个选项APPLICATIONContainer


type


指定资源所属java类的完整限定名


maxActive


指定在连接池中数据库连接的最大数目,指定这个值需要参照使用的数据库所配置的最大连接数。取值为0,表示没有限制


maxIdle


指定连接池中保留的空闲的数据库连接的最大数目。取值-1表示没有限制


maxWait


指定等待一个数据库连接成为可用状态的最大时间,以毫秒为单位。如果设-1,表示没有限制


username


连接数据库用户名


password


连接数据库密码


driverClassName


指定JDBC驱动程序类名


url


指定数据库的URL

 

实例:SQL标签库中标签的使用

 

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

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

<%@ page contentType="text/html; charset=gb2312" language="java" %>

<%--从jndi名称空间中获得一个数据源--%>

<sql:setDataSource

  var="sc"

  dataSource="jdbc/mydb"

/>

<c:out value="${sc}"></c:out>

<%--创建普通的数据源--%>

<sql:setDataSource

  var="shopcart"

  driver="com.mysql.jdbc.Driver"

  url="jdbc:mysql://localhost:3306/shopcart"

  user="root"

  password="admin"

/>

<c:out value="ok"/>

 

<%--使用数据源进行更新--%>

<sql:update var="up" dataSource="${sc}">

    update user set pwd='123' where name='jack'

</sql:update>

 

<%--含参数的更新--%>

<sql:update var="up1" sql="update user set name=? where pwd=?" dataSource="${sc}">

   <sql:param value="rose"/>

   <sql:param value="123"/>

</sql:update>

 

<%--增加记录--%>

<sql:update var="up2" sql="insert into user values(1002,'jgl','jgl')" dataSource="${sc}"/>

<c:out value="${up2}"></c:out><%--var中存放的是影响的行数--%>

 

<%--删除记录--%>

<sql:update var="up3" sql="delete from user" dataSource="${sc}"/>  

 

<%--创建表

<sql:update var="up3" sql="create table student(name varchar(20))" dataSource="${sc}"/>

<c:out value="${up3}"></c:out>

--%>

 

<%--删除表--%>

<sql:update var="up4" sql="drop table student" dataSource="${sc}"/>

 

<%--使用数据源进行查询--%>

<sql:query var="query1" dataSource="${sc}">

    SELECT * FROM user

</sql:query>

<table border="1">

  <c:forEach var="row" items="${query1.rows}">

  <tr>

    <td>name: <c:out value="${row.name}"/></td>

    <td>pwd: <c:out value="${row.pwd}"/></td>

  </tr>

  </c:forEach>

</table>

 

<%--使用事务处理方式创建一个表--%>

<%--使用事务处理方式可以将要执行的sql语句放到<sql:transaction>元素中--%>

<sql:transaction dataSource="${sc}">

  <sql:update var="newTable">

    create table usertable (

      nameid int primary key,

      name varchar(80)

    )

  </sql:update>

</sql:transaction>

4.Jsp页面中出现el不能解析的异常时的解决方式

方式一: <web-app xmlns="http://java.sun.com/xml/ns/j2ee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"

    version="2.4">

改成

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

 

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

改为<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>

前提必须有c-rt.tld文件才可以

       参考网址:

http://hi.baidu.com/bluedusk/blog/item/1ae761f45bc9c9d9f3d3856c.html

时间: 2024-11-02 07:12:08

JSP标准标签库的相关文章

jsp 标准标签库简析_JSP编程

一.JSTL简介 引入:在JSP以及javaBean中 ,当我们在网页中使用循环,或者使用对象方法连接数据库时,我们都不可避免的需要使用到jsp的脚本编制元素,其中嵌有大量的java代码,现在开发者想尽可能的避免使用jsp脚本编制元素,进一步将应用程序的显示层和业务层完全分离,更加有利于应用程序的分工协作,jsp开发者指定了 JSTL ,提供了一组统一的通用的自定义标签文件,并将这些文件组合在一起,形成了jsp标准标签库,即JSTL. 1) 定义:包含编写和开发JSP页面的一组标准标签 a) 特

Java-JSTL(JSP标准标签库)介绍

js|标准 前言 从JSP 1.1规范开始,JSP就支持在JSP中使用自定义标签了,自定义标签的广泛使用造成了程序员重复定义,这样就促成了JSTL(JavaServer Pages Standard Tag Library)的诞生.因为工作中需要用到JSTL,但网上却苦于找不到有关JSTL的中文资料,所以就有了这篇文章. JSTL简介 JSTL是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的.JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器

入门教程:JSP标准模板库(上)

js|标准|教程|模板|入门教程 简介JSP标准模板库(JSTL)是SUN公司发布的一个针对JSP开发的新组件.JSTL允许你使用标签(tags)来进行JSP页面开发,而不是使用多数JSP程序员已经习惯了的scriptlet代码方式开发.JSTL几乎能够做到传统JSP scriptlet代码能做的任何事情.你可能会疑惑,为什么我们需要另一种这样的HTML生成语言呢? STL允许JSP程序员使用tags而不是JAVA代码来编程.为了展示为什么这个是更优越的,下面将给出示例.我们会检查一个非常简单的

Web---JSTL(Java标准标签库)-Core核心标签库、I18N国际化、函数库

前面为JSTL中的常用EL函数,后面的为具体演示实例! JSTL简介: JSTL(Java Standard Tag Library) –Java标准标签库. SUN公司制定的一套标准标签库的规范. JSTL标签库,是由一些Java类组成的. JSTL组成: JSTL –Core 核心标签库. 重点 JSTL – I18N - 国际化标签库.Internationalization- I18N JSTL – SQL – 数据库操作标签(有悖于MVC设计模式),现在都不用这个. JSTL - Fu

JSP标准标记库促进了网页的开发

js|标准|网页 Java Server Pages (JSP) 标准标记库 (JSTL)的版本的发布对于JSP/servlet开发者来说是一个重大的进展.有了一个表达语言(EL)和一组四种强大的.易于学习的标准标记库,JSTL极有可能不久后成为实现动态的.基于Java的站点的主要方法. 1996年对JSP servlet的介绍使得Java成为动态网页开发的合理的选择.随后出现的Java服务器页(JSP)是走向快速的.可维护的Java网页实现过程的合理进化的一步,紧接着就出现了JSP标记的支持.

使用jsp自定义标签库实现数据列表显示模拟cms4j中的标签库效果

文章标题: 使用jsp自定义标签库实现数据列表显示模拟cms4j中的标签库效果   作者: javaboy2012 Email:yanek@163.com qq:    1046011462     cms4j中调用方式:     下面例子实现类似效果:   运行效果:   具体如下: jsp调用代码: <%@ page language="java" import="java.util.*,com.yanek.cms.vo.*" pageEncoding=&

入门教程:JSP标准模板库(下)

js|标准|教程|模板|入门教程 JSTL标签库JSTL通常被认为是一种单标签库.但JSTL实际上有4个标签库.这些标签库被概括为如下: 核心标签库?包含一些Web应用的必要的标签.核心标签库的实例包括循环,表达式赋值和基本输入输出.. 格式化/国际化标签库?包括被用来解析数据的标签库.这种标签会解析数据,比如日期,不同的场所区域等. 数据库标签库?包含被用来访问SQL数据库的标签.这些标签通常仅仅只创建原形(prototype)程序.这个是因为大多数程序不会直接从JSP页面中来处理数据库访问.

JSP中标签库的深入研究

js 标签库Taglib 标签被定义和分布在一个称为标签库的结构中,一个标签库是由元信息和类组成的集合:1.标签处理器:实现定制标签功能的Java类.2.标签附加信息(TEI):向JSP容器提供边辑以确认标签属性和创建变量的类.3.标签库描述器(TLD):描述单个标签和整个标签库属性的XML文档. 标签处理器和标签附加信息需要定位在JSP容器类载入器可以找到的地方.标签库描述器可在URL指定的符意位置.JSP1.1规范要求JSP容器接受一个打包成因定结构的JAR文件的标签库.TLD必须是/MET

[Servlet&amp;amp;JSP] 标准标签

在JSP的规范中提供了一些标准标签(Standard Tag),所有的容器都支持这些标签,它可以协助编写JSP时减少Scriptlet的使用.所有的标准标签都使用jsp:作为前置.这些标准标签是在JSP早起的规范中提出的,后来提出的JSTL(JSP Standard Tag Library)与表达式语言(Expression Language)在许多功能上都可以体态原有的标准标签. <jsp:include>与<jsp:forward>标签 include指示元素可以静态的包含另一