Это простая идея для решения, однако я никогда не делал этого раньше и нуждаюсь в совете. Я использую Spring, Spring Webflow и JSF с Primefaces.
Я использую внешние веб-сервисы для получения некоторых данных в таблице. Иногда он работает медленнее, чем вызов веб-сайта, и я хочу избежать «ожидания» загрузки. Моя идея (в этом нет ничего нового) состоит в том, чтобы загрузить страницу со всем статическим (или локальным сервером) содержимым, а затем вызвать внешний веб-сервис для получения данных. Чем показать его, когда он будет закончен.
Пока это выглядит так:
интернет сайт:
<p:dataTable id="table" var="item" value="#{lastfm.topArtists}">
<p:column headerText="Model" sortBy="#{item.name}">
<h:outputText value="#{item.name}" />
</p:column>
</p:dataTable>
и сам Бин просто:
private List<Artist> topArtists = new ArrayList<Artist>();
public void init(String u) {
topArtists = (List<Artist>) User.getTopArtists(u, StaticContent.api_key);
}
Пользователь - это API веб-сервиса.
Инициализация ATM загружает on-render
веб-сайта, но я хочу избежать этого, вызывать его каким-то образом после загрузки страницы и отображать в случае успеха.
Я предполагаю, что это может быть какая-то функция javascript с jquery, использующая onDocumentReady()
и onSuccess
для ajax, но я действительно понятия не имею, как ее подключить.
Спасибо!