Jsp(五)

XML 标签

JSTL XML标签库提供了创建和操作XML文档的标签。引用XML标签库的语法如下:

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

在使用xml标签前,你必须将XML 和 XPath 的相关包拷贝至你的\lib下:
XercesImpl.jar下载地址: http://www.apache.org/dist/xerces/j/
xalan.jar下载地址: http://xml.apache.org/xalan-j/index.html

|标签|描述|
|---|---|
||与<%= ... >,类似,不过只用于XPath表达式|
||解析 XML 数据|
||设置XPath表达式|
||判断XPath表达式,若为真,则执行本体中的内容,否则跳过本体|
||迭代XML文档中的节点|
||的父标签|
||的子标签,用来进行条件判断|
||的子标签,当判断为false时被执行|
||将XSL转换应用在XML文档中|
||共同使用,用于设置XSL样式表|

使用JSP格式化XML
这个是XSLT样式表style.xsl文件:





  
  
   
  
  


  
      

这个是main.jsp文件:

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


  JSTL x:transform Tags


Books Info:

Padam History ZARA 100 Great Mistry NUHA 2000

运行结果如下:

运行结果

JSTL函数

JSTL包含一系列标准函数,大部分是通用的字符串处理函数。引用JSTL函数库的语法如下:

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

fn函数的语法如下:

${fn:XXX()}

|标签|描述|
|---|---|
|fn:contains()|测试输入的字符串是否包含指定的子串|
|fn:containsIngnoreCase()|测试输入的字符串是否包含指定的子串,大小写不敏感|
|fn:endsWith()|测试输入的字符串是否以指定的后缀结尾|
|fn:escapeXml()|跳过可以作为XML标记的字符|
|fn:indexOf()|返回指定字符串在输入字符串中出现的位置|
|fn:join()|将数组中的元素合成一个字符串然后输出|
|fn:length()|返回字符串长度|
|fn:replace()|将输入字符串中指定的位置替换为指定的字符串然后返回|
|fn:split()|将字符串用指定的分隔符分隔然后组成一个子字符串数组并返回|
|fn:startsWith()|测试输入字符串是否以指定的前缀开始|
|fn:substring()|返回字符串的子集|
|fn:substringAfter()|返回字符串在指定子串之后的子集|
|fn:substringBefer()|返回字符串在指定子串之前的子集|
|fn:toLowerCase()|将字符串中的字符转为小写|
|fn:toUpperCase()|将字符串中的字符转为大写|
|fn:trim()|移除首位的空白符|


JSP 自定义标签

自定义标签是用户定义的JSP语言元素。当JSP页面包含一个自定义标签时将被转化为servlet,标签转化为对被 称为tag handler的对象的操作,即当servlet执行时Web container调用那些操作。
JSP标签扩展可以让你创建新的标签并且可以直接插入到一个JSP页面。 JSP 2.0规范中引入Simple Tag Handlers来编写这些自定义标记。
你可以继承SimpleTagSupport类并重写的doTag()方法来开发一个最简单的自定义标签。


创建"Hello"标签

接下来,我们想创建一个自定义标签叫作,标签格式为:


要创建自定义的JSP标签,你首先必须创建处理标签的Java类。所以,让我们创建一个HelloTag类,如下所示:

//该类需要继承SimpleTagSupport,并重写doTag方法
public class HelloTag extends SimpleTagSupport{
    @Override
    public void doTag() throws JspException, IOException {
        JspWriter out = getJspContext().getOut();
        out.println("Hello Custom Tag!");
    }
}

创建如下标签库:WEB-INF\custom.tld。



    myTag
    1.1
    mt
    
    http://com.hb/tld/myTag
    
        Hello
        creatMyJspTag.HelloTag
        empty
    

接下来,我们就可以在JSP文件中使用Hello标签:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%-- <%@ taglib uri="http://com.hb/tld/myTag" prefix="m" %> --%>
<%@ taglib uri="/WEB-INF/custom.tld" prefix="m" %> 




main





你可能感兴趣的:(Jsp(五))