为什么Jboss 7.2用域而不是相对路径覆盖HTML表单操作路径?

时间:2019-06-21 00:09:46

标签: jboss tapestry jboss-eap-7

我们正在将应用程序服务器从Jboss EAP 6.4迁移到运行Tapestry 5.4.1应用程序的Jboss EAP 7.2。

从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 :(得分:0)

如果您注意到this.destroy()<iframe src,但是https<form action,则可能与HTTPS配置有关。

也来自Form.java

http

答案 1 :(得分:0)

我找到了解决方案。我像Tapestry的文档一样覆盖了BaseURLSource。

来自HTTPS tapestry docs

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);
}