📄 x_parse2.jsp
字号:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
<%@ page contentType="text/html;charset=gb2312" %>
<!--导入所需要的类-->
<%@ page import="javax.xml.transform.TransformerFactory" %>
<%@ page import="javax.xml.transform.TransformerConfigurationException" %>
<%@ page import="javax.xml.transform.TransformerException" %>
<%@ page import="javax.xml.transform.sax.SAXSource" %>
<%@ page import="javax.xml.transform.sax.SAXResult" %>
<%@ page import="javax.xml.transform.sax.SAXTransformerFactory" %>
<%@ page import="javax.xml.transform.stream.StreamSource" %>
<%@ page import="java.io.IOException" %>
<%@ page import="org.xml.sax.XMLFilter,org.xml.sax.SAXException" %>
<%@ page import="org.xml.sax.XMLReader,org.xml.sax.InputSource" %>
<%@ page import="org.xml.sax.helpers.XMLReaderFactory" %>
<%@ page import="org.apache.xml.serializer.Serializer" %>
<%@ page import="org.apache.xml.serializer.SerializerFactory" %>
<%@ page import="org.apache.xml.serializer.OutputPropertiesFactory" %>
<!--创建一个过滤器类-->
<%
String path = getServletContext().getRealPath("/");
TransformerFactory tFactory = TransformerFactory.newInstance();
if(tFactory.getFeature(SAXSource.FEATURE) &&
tFactory.getFeature(SAXResult.FEATURE))
{
SAXTransformerFactory saxTFactory = (SAXTransformerFactory)tFactory;
XMLFilter xmlFilter1 = saxTFactory.newXMLFilter(new StreamSource(path +
"book1.xsl"));
XMLReader xmlReader = XMLReaderFactory.createXMLReader();
xmlFilter1.setParent(xmlReader);
Serializer serializer = SerializerFactory.getSerializer
(OutputPropertiesFactory.getDefaultMethodProperties("xml"));
serializer.setOutputStream(System.out);
xmlFilter1.setContentHandler(serializer.asContentHandler());
session.setAttribute("filter", xmlFilter1);
}
%>
<c:import url="book.xml" charEncoding="gb2312" var="doc" />
设置<x:parse>标签的filter属性,只显示“张孝祥”所著书的相关信息:<br />
<x:parse doc="${doc}" filter="${filter}" var="parsedDoc" />
<table border="1">
<tr><td>书ID号</td><td>书名</td><td>售价</td></tr>
<x:forEach select="$parsedDoc//书">
<tr>
<td><x:out select="@id"/></td><td><x:out select="书名"/></td>
<td><x:out select="售价"/></td>
</tr>
</x:forEach>
</table>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -