在jsp和xsl之间传递参数

时间:2016-01-05 23:29:15

标签: java xml jsp xslt

我的jsp页面和xsl之间有问题,我希望在jsp和xsl之间传递一个参数但是它永远不会在xsl中设置。

JSP页面;

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x"%>
<%!
    private String getVal(String param, HttpServletRequest request) {
        return request.getParameter("fname");
    }
%>
<%
    String num = getVal("value", request);
%>

<div id="section" class="col-xs-10 col-sm-10 col-md-8">
            <c:import url="/monXml.xml" var="inputDoc" />

            <c:import url="/viewAnnonce.xsl" var="stylesheet" />
            <x:transform xml="${inputDoc}" xslt="${stylesheet}" >
                 <x:param name="numAnnonce" value="${num}"/>
            </x:transform>

        </div>

XSL:

<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" encoding="utf-8"
        doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
        doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" />

  <xsl:param name="numAnnonce"/>

 <xsl:template match="/">
    <xsl:template match="/">
        <!-- Creation de la liste des annonces -->
        <xsl:for-each select=".//annonce[attribute::id=$numAnnonce]">
            <div id="article" class="row"></div>
        </xsl:for-each>
 </xsl:template>

`

getVal(&#34;值&#34;,请求);返回正确的值。

感谢。

1 个答案:

答案 0 :(得分:0)

您已使用JSP scriptlet声明了num变量, 我不认为您可以使用${num}访问它,您是否可以尝试使用scriptlet访问它:

<x:param name="numAnnonce" value="<%=num%>"/>