2013-08-02 5 views
1

У меня есть задача переписать параметр «действие» формы для изменения от абсолютного URL. Кроме того, в той же форме я должен проверить, является ли «метод» «GET», я должен изменить его для публикации и передать дополнительный скрытый параметр с исходным значением метода. Для например:XSLT изменить значение тега, если параметр соответствует

<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 для перезаписи и преобразования.

Заранее благодарен.

-Rikin

ответ

0

Если я правильно понимаю, вы пытаетесь преобразовать HTML в HTML с помощью XSL.

Вы, вероятно, придется написать 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: если для проверки атрибутов формы (например, «метод ").

Надеюсь, это поможет.

Tristan

+0

Спасибо, Тристан за ваш ответ. Наверное, моя ошибка, возможно, я не буду достаточно ясной. Мое требование немного другое. Чтобы перезаписать параметр действия, я должен использовать Java-код. Кроме того, в форме есть много полей, как показано на рисунке. С этим он перезапишет другие параметры, я чувствую! – Rikin

Смежные вопросы