У меня есть отчет BIRT, который я создал в GWT, и я хочу сохранить его на сервере, а затем снова открыть. Я чувствую, что жесткое кодирование URL-адреса - это неправильный путь (например, C:/files/foo/foo.html), но мне не очень повезло найти другой способ сделать это. Я пытался использовать GWT.getModuleBaseForStaticFiles(), но если я использую это, я получаю ошибку неудовлетворенной ссылки в BIRT. Что я могу использовать для сохранения/открытия файла, что считается лучшей практикой? Спасибо.
edit: неправильная формулировка, отчет BIRT создается на стороне сервера. Я хотел бы иметь возможность сохранить его на стороне сервера, а затем открыть его в новом окне браузера (я думаю, используя window.open?). Со стороны клиента ничего не загружается.
UnsatisfiedLinkError
происходит, когда вы пытаетесь использовать метод/класс на стороне сервера со стороны клиента. КлассGWT
предназначен только для использования на стороне клиента. - person Churro   schedule 09.08.2013GWT.getModuleBaseURL()
иGWT.getModuleName()
, чтобы помочь вам проанализировать правильный URL-адрес. Затем вы можете использоватьWindow.open()
, чтобы открыть URL-адрес для клиента. - person Churro   schedule 09.08.2013WAR
. Только так сработает мое предыдущее предложение. Хороший путь —war/PROJECT_NAME/
. Я знаю, что вы упомянулиC:/files/foo/foo.html
, но этот каталог не будет таким же, когда вы развернете свое приложение на веб-сервере. - person Churro   schedule 09.08.2013GWT.getModuleBaseURL().replace(GWT.getModuleName()+"/", "") + "reports/" + <YOUR FILE NAME HERE>;
Затем используйте его с Window.open() - person Churro   schedule 10.08.2013UnsatisfiedLinkError
). Ваш клиентский код должен использовать мой код. Вы должны каким-то образом отправить имя файла отчета в код на стороне клиента, возможно, с помощью асинхронного вызова. Затем клиентская сторона сделаетWindow.open()
, чтобы показать это. Единственный другой способ передать отчет клиенту — передать содержимое файла в виде загрузки. - person Churro   schedule 10.08.2013