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. 《Java性能调优》学习笔记(1)

    性能的参考指标 执行时间 -- 从代码开始运行到结束的时间 CPU时间 -- 函数或者线程占用CPU的时间 内存分配 -- 程序在运行时占用内存的情况 磁盘吞吐量 -- 描述IO的使用情况 网络吞吐量 ...

  2. html5之上的图片处理

    在开发 H5 应用的时候碰到一个问题,应用只需要一张小的缩略图,而用户用手机上传的确是一张大图,手机摄像机拍的图片好几 M,这可要浪费很多流量. 像我这么为用户着想的程序员,绝对不会让这种事情发生的, ...

  3. [转] AppArmor

    AppArmor https://help.ubuntu.com/14.04/serverguide/apparmor.html AppArmor 是一个实施了基于名称强制存取控制的Linux安全模组 ...

  4. VSCode插件开发全攻略(一)概览

    文章索引 VSCode插件开发全攻略(一)概览 VSCode插件开发全攻略(二)HelloWord VSCode插件开发全攻略(三)package.json详解 VSCode插件开发全攻略(四)命令. ...

  5. Android逆向之静态分析

    想必打过CTF的小伙伴多多少少都触过Android逆向,所以斗哥将给大家整一期关于Android逆向的静态分析与动态分析.本期先带来Android逆向的静态分析,包括逆向工具使用.文件说明.例题解析等 ...

  6. 高数复习--什么是DCT

    离散余弦变换(英语:discrete cosine transform, DCT)是与傅里叶变换相关的一种变换,类似于离散傅里叶变换,但是只使用实数.离散余弦变换相当于一个长度大概是它两倍的离散傅里叶 ...

  7. npm ERR! Refusing to install package with name "webpack" under a package -----

    当我们在安装以一些依赖的时候会提示以下报错--------- 问题出在: 这个name 不能使用所需要安装包的名字! 解决方案----- 修改下就行 -- -我将wenpack 改成webpack1 ...

  8. ExternalException (0x80004005): 无法执行程序

    今天更新系统上传到阿里云服务器,报错如下: “/”应用程序中的服务器错误. 组策略阻止了这个程序.要获取详细信息,请与系统管理员联系. 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆 ...

  9. django在关闭debug后,admin界面 及静态文件无法加载的解决办法

    当debug为true的时候,ALLOWED_HOSTS是跳过不管用的.所以这里需要将debug关掉,令debug=false,ALLOWED_HOSTS=[ '*' ]表示所有的主机都可以访问 开启 ...

  10. 你不可错过的Java学习资源清单(包含社区、大牛、专栏、书籍等)

    学习Java和其他技术的资源其实非常多,但是我们需要取其精华去其糟粕,选择那些最好的,最适合我们的,同时也要由浅入深,先易后难.基于这样的一个标准,我在这里为大家提供一份Java的学习资源清单. 一: ...