JSTL_XML

一:说明

  1. 如有转载请标明出处
  2. 必须包含的属性->有默认值的属性->其余属性,中间用回车隔开

二:XML标记库

  Xml标记库主要功能就是为在jsp页面中操作xml提供便利支持,本博文不做详解,<x:out>,<x:set>,<x:if>,<x:when>,<x:choose>,<x:forEach>,<x:otherwise>,<x:param>标记与core标记库中的同名标记的作用基本一样,唯一的区别就是这些标记是处理xml内容的

三:XML标记

1. <x:out>,<x:set>,<x:if>,<x:when>,<x:choose>,<x:forEach>,<x:otherwise>,<x:param>标记与core标记库中的同名标记的作用基本一样,唯一的区别就是这些标记是处理xml内容的

2. <x:parse>标记

示例代码:

Xml文件内容:
<?xml version="1.0" encoding="UTF-8"?>

<peoples>

         <people>

                   <name>达伦·布朗</name>

                   <sex>man</sex>

         </people>

         <people>

                   <name>爱华顿g</name>

                   <sex>little man</sex>

         </people>

         <people>

                   <name>夏洛特·玲玲</name>

                   <sex>women</sex>

         </people>

         <people>

                   <name>休斯顿·魔术师</name>

                   <sex>bigman</sex>

         </people>

</peoples>

peoples.xml


Jsp文件内容:
  <%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

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

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

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

         <c:import var="file" url="peoples.xml" charEncoding="utf-8"/>

         <x:parse xml="${file}" var="cc"/>

                   <table border="1">

                   <tr>

                            <td>姓名</td>

                            <td>性别</td>

                   </tr>

                   <x:forEach var="n" select="$cc/peoples/people">

                   <tr>

                            <td>

                                     <x:out select="$n/name"/>

                            </td>

                            <td>

                                     <x:out select="$n/sex"/>

                            </td>

                   </tr>

                   </x:forEach>

         </table>

</body>

</html>

xparse.jsp


所有属性:

         Doc:所要解析的XML文件的名称,或者是java.io.Reader类型的对象

         scope:设定var变量的作用范围,默认值:page

         scopeDom:设定varDom变量的作用范围,默认值:page

         var:设定保存解析以后的xml文档内容的变量的名称

         varDom:设定代表所解析的xml文件的org.w3c.dom.Document类型的对象的变量名称

         filter:设定org.xml.sax.XMLFilter类型的一个对象,这个对象可以在解析之前对文件进行过滤操作

         systemId:设定当前要解析的xml文件的URI值

3.<x:transform>

可以实现xsl样式表的转换

示例代码:
<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

       <xsl:template match="/">

              <!-- TODO: Auto-generated template -->

              <html>

              <body>

              <table border="1">

              <tr>

                     <td>姓名</td>

                     <td>性别</td>

              </tr>

              <xsl:for-each select="peoples/people" >

              <tr>

                     <td><xsl:value-of select="name"/></td>

                     <td><xsl:value-of select="sex"/></td>

              </tr>

              </xsl:for-each>

       </table>

</body>

</html>

       </xsl:template>

</xsl:stylesheet>

people.xsl

<?xml version="1.0" encoding="UTF-8"?>

<peoples>

       <people>

              <name>达伦·布朗</name>

              <sex>man</sex>

       </people>

       <people>

              <name>爱华顿g</name>

              <sex>little man</sex>

       </people>

       <people>

              <name>夏洛特·玲玲</name>

              <sex>women</sex>

       </people>

       <people>

              <name>休斯顿·魔术师</name>

              <sex>bigman</sex>

       </people>

</peoples>

peoples.xml


Transform.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

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

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

<c:import url="peoples.xml" var="url" charEncoding="utf-8"/>

<c:import url="people.xsl" var="xsl" charEncoding="utf-8"/>

<x:transform doc="${url}"  xslt="${xsl}"/>  

属性介绍:

doc:所要转换的xml文件的名称,或者是java.io.Reader对象

xslt:所要转换的xslt文件的名称,也可以是Reader或者javax.xml.transform.Source类型的对象

scope:设置var变量的保存范围,默认值:page

docSystemId:设置当前要转换的xml文件的uri值

xsltSystemId:设置要转换成的xslt文件的URI值

var:设定保存后内容的变量的名称

result:设定保存后内容的变量的对象,对象类型:javax.xml.transform.Result

JSTL_XML标记库的更多相关文章

  1. JSTL_Format标记库

    JSTL_Format 一:JSTL Format标记库 如有转载,请标明出处 介绍标记属性的时候,按照顺序必须写的->带有默认值的->其他的,中间用回车隔开 在jsp问价开头加上 < ...

  2. JSTL_Core标记库

    一.   说明 如有转载,请标明出处 本博讲解JSTL中的core库 对标记属性进行介绍时,首先介绍必写的属性,然后带有默认值的属性,其次是其余属性,这三类属性中间用空行隔开 二:core标记库库 C ...

  3. JSTL教程 [JSP 标准标记库]

    JSTL教程- - JSP 标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断.数据管理格式 ...

  4. 分布式人工智能标记语言(DAIML)示例

          DAIML(Distributed Artificial Intelligence Markup Language)是用于分布式人工智能系统中智能语言的标记库.DAIML主要分为Patte ...

  5. JSTL 核心标签库

    SP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签. 除了这些,它还提供了 ...

  6. JSTL标准标签库

    有时使用EL和标准动作达不到目的,于是就引入定制标记. 对于JSP页面创作人员来说,定制标记使用起来比脚本要容易一些.不过对于JAVA程序员来说,简历定制标记处理器反而更困难.幸运的是,已经有了一个标 ...

  7. JSP标记

    JSP标记是JSP页面中很重要的组成部分,JSP标记包括指令标记.动作标记和自定义标记.其中自定义标记主要讲述与Tag文件有关的Tag标记. 一 指令标记page Page指令标记,简称page指令, ...

  8. 使用Spring标签库

    A.Spring标签库 Web项目若使用Spring Web MVC并使用JSP作为表现的话.从Spring2.0版本开始提供一套标签库可供使用. 使用标签库无非是易于开发,维护之类云云.这里就不阐述 ...

  9. JSTL(JSP Standard Tag Library ,JSP标准标签库)

    JSTL标签之核心标签   JSTL(JSP Standard Tag Library ,JSP标准标签库)是一个实现 Web应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断.数据管 ...

随机推荐

  1. 京东618:Docker扛大旗,弹性伸缩成重点 (2015-06-23)

    不知不觉中,年中的618和年终的11.11已经成为中国电商的两大促销日,当然,这两天也是一年中系统访问压力最大的两天.对于京东而言,618更是这一年中最大的一次考试,考点是系统的扩展性.稳定性.容灾能 ...

  2. 读书笔记二 How Does the Internet work?

    原文链接:  https://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm 先写写 ...

  3. Redis-02.数据类型

    Redis中所有数据都是以key-value存储的,value支持的数据类型包括string.hash.list.set.sorted_set 数据类型 string 是redis最基本的类型,一个k ...

  4. Docker学习笔记-CentOS7镜像

    前言: 环境:centos7.5 64 位 正文: 第一步:下载centos7镜像 docker pull centos 第二步:建立centos7的容器 sudo docker run --priv ...

  5. 折腾nock给jsonp进行单元测试

    概述 前几天学习用Jest和nock.js对异步api进行单元测试.在项目中,我用到了jsonp,自然想到对jsonp进行单元测试. 过程很折腾,结果很有趣. jsonp.js 首先axios或者fe ...

  6. BaseDao优化

    BaseDao优化2种方法 1. try { //读取配置文件,配置文件保存了数据库的东西 String path=”database.properties”; //创建实例化对象 Propertie ...

  7. Java 虚拟机对锁优化所做的努力

    作为一款公用平台,JDK 本身也为并发程序的性能绞尽脑汁,在 JDK 内部也想尽一切办法提供并发时的系统吞吐量.这里,我将向大家简单介绍几种 JDK 内部的 "锁" 优化策略. 1 ...

  8. Android--多线程之AsyncTask

    前言 本片博客将介绍AsyncTask的使用,之前有介绍过线程和进程.而在AsyncTask中,运行在用户界面中,执行异步操作,并且把执行结果发布在UI线程上,且也不需要处理线程和Handler.在本 ...

  9. Android--Activity中使用Intent传值

    Intent,又称为意图,是一种运行时绑定机制,它能在程序运行的过程中链接两个不同的组件(Activity.Service.BroadcastReceiver).通过Intent,程序可以向Andro ...

  10. salesforce零基础学习(九十三)Email To Case的简单实现

    Salesforce提供了标准的功能来实现通过Email 创建 Case.我们可以设置指定的路由的地址,指定条件的邮件会自动生成到目标salesforce系统的Case数据.Salesforce提供了 ...