Java for Web学习笔记(三二):JSTL(8)XML Tag

XML Tag提供xml的解析。然而JSON已经大量地替代XML,使用XML情况会较少,而且有高效的lib将对象转换为json和xml,因此xml tag很少会用到,稍作了解。可以参考https://www.tutorialspoint.com/jsp/jsp_xml_data.htm。

输出xml的jsp

<%@ page contentType="text/xml" %>

<books>
   <book>
      <name>Padam History</name>
      <author>ZARA</author>
      <price>100</price>
   </book>
</books>

访问这个jsp

解析xml

有一个xml文件books.xml

<books>
	<book>
	  <name>Padam History</name>
	  <author>ZARA</author>
	  <price>100</price>
	</book>
	<book>
	  <name>Great Mistry</name>
	  <author>NUHA</author>
	  <price>2000</price>
	</book>
</books>

step one:进入xml tag<

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

step two:import和解析

<c:import var="bookInfo" url="http://localhost:8080/chapter07/books.xml"/>	
<x:parse doc="${bookInfo}" var="output" />

step three:获取解析后的数据

轮询:

<x:forEach select="$output/books/book" var="book">
	name : <x:out select="$book/name" /><br />
	author : <x:out select="$book/author" /><br />
	price : <x:out select="$book/price" /><br /><br />
</x:forEach>

也可以:

<x:forEach select="$output/books/book">
	name : <x:out select="name" /><br />
	author : <x:out select="author" /><br />
	price : <x:out select="price" /><br /><br />
</x:forEach>

指定:

<b>The title of the first book is</b>: 
<x:out select="$output/books/book[1]/name" />
<br>
<b>The price of the second book</b>: 
<x:out select="$output/books/book[2]/price" />

补充

我们可以写成 ${somevaule},也可以写成<c:out value="${somevalue}"/>,建议使用后者,因为<c:out>是escapeXml,以防会出现任何意外,除非我们明确知道somevaule是个整数等非字符型的。要养成这个良好习惯。

<c:forEach items="${ticketDatabase }" var="entry">
	Ticket # <c:out value="${entry.key}"/>(
	<a href="<c:url value="tickets"> 
		<c:param name="action" value="view"/>
		<c:param name="ticketId" value="${entry.key}" />
	</c:url> ">
	<c:out value="${entry.value.subject}"/></a> customer: <c:out value="${entry.value.customerName}"/>)<br />
</c:forEach>

相关链接: 我的Professional Java for Web Applications相关文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值