1

我的任务是重写表单“action”参数以从相对 URL 更改为绝对 URL。此外,以相同的形式,我必须检查“方法”是否为“GET”,我必须将其更改为发布,并且必须使用原始方法值传递额外的隐藏参数。例如:

<form name="my_form" action="submitForm.action" method="get">
    some fields
</form>

这应该更改为:

<form name="my_form" action="http://localhost:8080/submitForm.action" method="POST">
    <input type="hidden" name="method" value="get"/>
    some fields
</form>

是否可以通过 XSLT 进行更改?在那种情况下,我的 XSLT 可能是什么?我尝试了各种选项,但我只能更改 FORM 的一个参数,并且不知道如何在表单中添加一个额外的字段。

我正在使用 Java 进行重写和转换。

提前致谢。

-里金

4

1 回答 1

0

如果我理解正确,您正在尝试使用 xsl 将 HTML 转换为 HTML。

你可能不得不像这样写一个 xsl:

<xsl:template match="/form">
    <xsl:variable name="abs-action" select="concat('http://blablabla:8080/', @action)"/>
    <form method="POST">
        <xsl:attribute name="name" select="@name"/>
        <xsl:attribute name="action" select="$abs-action"/>
        <input type="hidden" name="hidden-input"></input>
    </form>
</xsl:template>

你总是可以用 xsl:if 包围这段代码的一部分来测试表单的属性(例如“方法”属性)。

希望这个对你有帮助。

特里斯坦

于 2013-08-02T08:09:56.503 回答