在JSP页面中输出JSON格式数据
JSON-taglib是一套使在JSP页面中输出JSON格式数据的标签库。
JSON-taglib主页: http://json-taglib.sourceforge.net/index.html
JAR包下载地址: http://sourceforge.net/projects/json-taglib/files/latest/download
使用方法:
1、下载json-taglib.jar,将其放到WEB-INF/lib目录
2、在jsp页面中做如下声明:
<%@ taglib prefix="json" uri="http://www.atg.com/taglibs/json" %>
3、JSON-taglib主要利用json:array,json:object和json:property来实现数据格式的转换
快速用例:
JSP如下:
- <%@ taglib prefix="json" uri="http://www.atg.com/taglibs/json" %>
- <json:object>
- <json:property name="itemCount" value="${cart.itemCount}"/>
- <json:property name="subtotal" value="${cart.subtotal}"/>
- <json:array name="items" var="item" items="${cart.lineItems}">
- <json:object>
- <json:property name="title" value="${item.title}"/>
- <json:property name="description" value="${item.description}"/>
- <json:property name="imageUrl" value="${item.imageUrl"/>
- <json:property name="price" value="${item.price}"/>
- <json:property name="qty" value="${item.qty}"/>
- </json:object>
- </json:array>
- </json:object>
<%@ taglib prefix="json" uri="http://www.atg.com/taglibs/json" %> <json:object> <json:property name="itemCount" value="${cart.itemCount}"/> <json:property name="subtotal" value="${cart.subtotal}"/> <json:array name="items" var="item" items="${cart.lineItems}"> <json:object> <json:property name="title" value="${item.title}"/> <json:property name="description" value="${item.description}"/> <json:property name="imageUrl" value="${item.imageUrl"/> <json:property name="price" value="${item.price}"/> <json:property name="qty" value="${item.qty}"/> </json:object> </json:array> </json:object>
产生JSON如下:
- {
- itemCount: 2,
- subtotal: "$15.50",
- items:[
- {
- title: "The Big Book of Foo",
- description: "Bestselling book of Foo by A.N. Other",
- imageUrl: "/images/books/12345.gif",
- price: "$10.00",
- qty: 1
- },
- {
- title: "Javascript Pocket Reference",
- description: "Handy pocket-sized reference for the Javascript language",
- imageUrl: "/images/books/56789.gif",
- price: "$5.50",
- qty: 1
- }
- ]
- }
{ itemCount: 2, subtotal: "$15.50", items:[ { title: "The Big Book of Foo", description: "Bestselling book of Foo by A.N. Other", imageUrl: "/images/books/12345.gif", price: "$10.00", qty: 1 }, { title: "Javascript Pocket Reference", description: "Handy pocket-sized reference for the Javascript language", imageUrl: "/images/books/56789.gif", price: "$5.50", qty: 1 } ] }