JSTL_XML
一:说明
- 如有转载请标明出处
- 必须包含的属性->有默认值的属性->其余属性,中间用回车隔开
二: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>
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>
所有属性: ????????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>
<?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>
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标记库
原文地址:https://www.cnblogs.com/aihuadung/p/8616111.html