使用xalan在xsl中获取ArrayList

时间:2012-08-26 07:40:49

标签: java validation xslt xalan

我有一个添加数据的页面。和验证器

<xsl:param name="validator"/>

<xsl:variable name="errorList" select="validator:getErrorList()" />
        <xsl:for-each select="$errorList">
            <li>
                <xsl:value-of select="." />
            </li>
        </xsl:for-each>

验证失败时。我返回到同一页面,想要获取错误列表。现在我收到无法将ArrayList强制转换为NodeList的错误消息。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,我在java方法中通过返回org.apache.xpath.NodeSet而不是ArrayList<String>来解决它。 XSLT和Java代码在

之下
  • Java方法

    public NodeSet getNodeSet(){     
    DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
    DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
    Document doc = docBuilder.newDocument();  
    
    NodeSet nodeset =  new NodeSet();
    nodeset.addElement(doc.createTextNode("noteOne"));
    nodeset.addElement(doc.createTextNode("nodetTwo"));
    System.out.println("NodeSet length: " + nodeset.getLength());
       return nodeset;
     }
    
  • XSLT代码

      <xsl:for-each select="myclass:getNodeSet()">
            <li>
                <xsl:value-of select="." />
            </li>
      </xsl:for-each>
    

我希望它可以提供帮助