Почему Jboss 7.2 перезаписывает путь действия HTML-формы доменом вместо относительного пути? - PullRequest
0 голосов
/ 21 июня 2019

Мы переносим наш сервер приложений с Jboss EAP 6.4 на Jboss EAP 7.2, на котором запущено приложение Tapestry 5.4.1.

Когда страница загружается из iframe, сервер добавляет домен к действию формы, и это неверно.

<iframe src="https://www.example.org:7071/Proyect/endpoint/">
   <form class="form-inline" data-validate="submit" action="http://www.example.org/Proyect/endpoint/clienteunico.formcu" method="post" id="formCU">

</iframe>

Правильный ответ будет выглядеть следующим образом

<iframe src="https://www.example.org:7071/Proyect/endpoint/">
   <form class="form-inline" data-validate="submit" action="/Proyect/endpoint/clienteunico.formcu" method="post" id="formCU">

</iframe>

Мы хотим использовать относительный путь и хотим знать, как настроить Jboss или Tapesty.

В Jboss EAP 6.4 нет этой проблемы

Muchas gracias!!

Ответы [ 2 ]

0 голосов
/ 25 июня 2019

Я нашел решение.Я переопределил BaseURLSource, как документация по Гобелену.

Из HTTPS документации по гобелену

public static void contributeServiceOverride(MappedConfiguration<Class,Object> configuration)
{
    BaseURLSource source = new BaseURLSource()
    {
        public String getBaseURL(boolean secure)
        {
            String protocol = secure ? "https" : "http";

            int port = secure ? 8443 : 8080;

            return String.format("%s://localhost:%d", protocol, port);
        }
    };

    configuration.add(BaseURLSource.class, source);
}
0 голосов
/ 22 июня 2019

Это может быть связано с конфигурацией HTTPS, если вы заметили, что <iframe src равно https, но <form action равно http.

Также от Form.java:

    void beginRender(MarkupWriter writer)
    {
        Link link = resources.createFormEventLink(EventConstants.ACTION, context);

        String actionURL = secure && secureEnabled ? link.toAbsoluteURI(true) : link.toURI();

        ...
...