JSTL:如何在href中找到与example.com的所有链接,然后追加参数

时间:2015-03-05 18:44:35

标签: jstl

我需要做的是在href中找到包含“example.com”的xhtml文档中的所有链接,然后将“?param = value”附加到所有这些链接。 链接可以有不同的路径,例如:

<a href="http://www.example.com/section/path">
<a href="http://www.example.com/section/path/">
<a href="http://www.example.com/section/subsection/path/">
<a href="http://www.example.com/section/somefilename.html">

通缉的结果是:

<a href="http://www.example.com/section/path?param=value">
<a href="http://www.example.com/section/path/?param=value">
<a href="http://www.example.com/section/subsection/path/?param=value">
<a href="http://www.example.com/section/somefilename.html?param=value">

我最接近的努力是:

<c:import url="http://example.com/index.html" var="xhtml"/>   
<c:set var="xhtmlOutput"><x:transform xml="${xhtml}" xslt="${xsltFile}"/></c:set>
<c:set var="aTags" value="${fn:replace(xhtmloutput, '.html', '.html?param=value')}" />
${xhtmloutput}

哪个不够具体,只针对带有“.html”的字符串。 这可以用JSTL完成,如果是,怎么做?

1 个答案:

答案 0 :(得分:0)

我使用xsl来执行此操作,如下所示:

<xsl:template match="@href[parent::a[contains(@href, 'example.com')]]">
<xsl:attribute name="href"><xsl:value-of select="."/>?param=value</xsl:attribute>
</xsl:template>

但是,我仍然想知道jstl是否可行。