我需要在我的XSL样式表中设置参数,我正在检索列表中的所有值,并使用它在jsp中动态创建XML。因此,在这个process..But中没有创建任何外部xml文件,现在我需要在XSLt样式表中设置变量。但是由于没有创建xml文件,所以我发现很难使用转换,Object.Here是我的代码。
<%@ page contentType="text/xml" %>
<%@page import="java.util.ArrayList,aj.model.BriefBoardDetail,
javax.xml.transform.Transformer,javax.xml.transform.TransformerFactory,
javax.xml.transform.stream.StreamSource" %>
<% ArrayList<BriefBoardDetail> list =(ArrayList)
request.getAttribute("boardList");
int countofPages =(Integer) request.getAttribute("countOfPages");
int pageNumber = (Integer) request.getAttribute("currentPageNumber");
Transformer transformer =
TransformerFactory.newInstance().newTransformer(new
StreamSource("/xslt/indexPageStyle.xsl"));
transformer.setParameter("currentPage" , pageNumber);
transformer.setParameter("lastPage" , countofPages);
transformer.transform(???, ???);//what parameter i need to set here?
%>
<?xml-stylesheet type="text/xsl" href="xslt/indexPageStyle.xsl"
version="1.0" encoding ="UTF-8" ?>
<AlgorithmHome>
<%
for(BriefBoardDetail bbs : list) {
%>
<subject id = '<%=bbs.getBoardId() %>' >
<name> <%=
bbs.getBoardName() %></name>
<description> <%=
bbs.getDescription() %></description>
</subject>
<%} %>
</AlgorithmHome>因此,我需要将countOfPages和pageNumber在indexPageStyle.xsl.But中设置为xml是在这个jsp中动态生成的,所以如果需要在浏览器中显示xml,则需要设置为XMLSource和outputTarget in transformer.transform(XMLSource,outputTarget)。
发布于 2015-03-18 08:44:33
我对上面的代码做了一些修改,效果很好..
<%@page contentType ="text/html; charset=ISO-8859-1" %>
<%@page import ="java.util.ArrayList,aj.model.BriefBoardDetail" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
<% ArrayList<BriefBoardDetail> list =(ArrayList) request.getAttribute("boardList");
Integer countofPages =(Integer) request.getAttribute("countOfPages");
Integer pageNumber = (Integer) request.getAttribute("currentPageNumber");
%>
<c:set var="xmldata">
<AlgorithmHome>
<%
for(BriefBoardDetail bbs : list) {
%>
<subject id = '<%=bbs.getBoardId()%>'>
<name> <%=
bbs.getBoardName() %></name>
<description> <%=
bbs.getDescription() %></description>
</subject>
<%}%>
</AlgorithmHome>
</c:set>
<c:import url="/xslt/indexPageStyle.xsl" var="xslt"/>
<x:transform xml="${xmldata}" xslt="${xslt}">
<x:param name ="currentPage" value="${param:pageNumber}"/>
<x:param name ="lastPage" value="${param:countofPages}"/>
</x:transform>一切都很好。但是现在我想把countofPages和页面编号都传递给我的XSL stylesheet.But,我无法传递它。谷歌和我得到的每个人都在值标签中传递字符串。..Please非常困惑,告诉我要传递一个值
https://stackoverflow.com/questions/29084013
复制相似问题