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. Python 每日随笔

    使用python已经有3个月了,带总体来说,还是python菜鸟,今天发现了一个好玩的东西,记录下来,有时间深入研究一下. 关于Metaclass 不得不说python 的元类很有意思,可以做很多有趣 ...

  2. Openvswitch手册(1): 架构,SSL, Manager, Bridge

    Openvswitch是一个virutal swtich, 支持Open Flow协议,当然也有一些硬件Switch也支持Open Flow协议,他们都可以被统一的Controller管理,从而实现物 ...

  3. CentOS 7 - 更新JDK,删除旧JDK,安装新JDK

    一,检查是否安装JDK. yum list installed | grep java 二,删除旧JDK. yum -y remove java-1.7.0-openjdk* yum -y remov ...

  4. 跟繁琐的命令行说拜拜!Gerapy分布式爬虫管理框架来袭!

    背景 用 Python 做过爬虫的小伙伴可能接触过 Scrapy,GitHub:https://github.com/scrapy/scrapy.Scrapy 的确是一个非常强大的爬虫框架,爬取效率高 ...

  5. Kali学习笔记26:OWASP_ZAP

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 OWASP_ZAP扫描器不同于之前介绍的Web扫描器: ...

  6. 【MySQL】常用监控指标及监控方法

    对之前生产中使用过的MySQL数据库监控指标做个小结.  指标分类 指标名称 指标说明 性能类指标 QPS 数据库每秒处理的请求数量 TPS 数据库每秒处理的事务数量 并发数 数据库实例当前并行处理的 ...

  7. python(leetcode)-重复元素算法题

    leetcode初级算法 问题描述 给定一个整数数组,判断是否存在重复元素. 如果任何值在数组中出现至少两次,函数返回 true.如果数组中每个元素都不相同,则返回 false. 该问题表述非常简单 ...

  8. SpringBoot集成netty实现客户端服务端交互和做一个简单的IM

    看了好几天的netty实战,慢慢摸索,虽然还没有摸着很多门道,但今天还是把之前想加入到项目里的 一些想法实现了,算是有点信心了吧(讲真netty对初学者还真的不是很友好......) 首先,当然是在S ...

  9. js数组之sort排序的用法

    sort排序 转载自:https://blog.csdn.net/idomyway/article/details/80544509 js中用方法sort()为数组排序.sort()方法有一个可选参数 ...

  10. 课程回顾-Neural Network & Deep Learning

    为什么深度学习发展了数据计算算法发展Logistics RegressionNumpyreshape的计算代价很小,所以你不确定数据维度的时候都可以放上一些解决潜在bug的trick做了归一化之后梯度 ...