我試圖調用一個應該返回一個XML文件的URL。 我想顯示這個XML文件。 現在我不知道如何撥打電話來獲取返回文件。 我用<p:commandButton process="@this" action="http://..." value="Test" />
試了一下,但我得到2個警告。Primefaces調用URL並獲取數據
警告文件:找不到一個MIME類型,在你的web.xml 時的警告的ressource添加一個MIME類型的映射:無法找到或操作。
我試圖調用一個應該返回一個XML文件的URL。 我想顯示這個XML文件。 現在我不知道如何撥打電話來獲取返回文件。 我用<p:commandButton process="@this" action="http://..." value="Test" />
試了一下,但我得到2個警告。Primefaces調用URL並獲取數據
警告文件:找不到一個MIME類型,在你的web.xml 時的警告的ressource添加一個MIME類型的映射:無法找到或操作。
試試這個:
action=#{yourBean.yourAction}
裏面你的bean:
public void yourAction() {
FacesContext fc = FacesContext.getCurrentInstance();
fc.getExternalContext().redirect("http://...");
fc.responseComplete();
}
我不知道,如果是必要的,但你也可能想在p:commandButton
您設置ajax=false
需要使用restfull客戶端來獲取你的xml並解析它。
這是你的ActionListener的內容會從你的按鈕被稱爲:
Client client = ClientBuilder.newClient(new ClientConfig().register(LoggingFilter.class));
WebTarget webTarget = client.target("http://localhost:8080/JerseyDemos/rest").path("employees");
Invocation.Builder invocationBuilder = webTarget.request(MediaType.APPLICATION_XML);
Response response = invocationBuilder.get();
Employees employees = response.readEntity(Employees.class);
List<Employee> listOfEmployees = employees.getEmployeeList();
(從http://howtodoinjava.com/jersey/jersey-restful-client-examples/#get-list)
我試過了,但是它從起始頁返回了我的整個HTML,而不是來自我所調用的URL的XML – TheNewby
我tryied這個了。我不想重定向。我想顯示XML中的內容 – TheNewby
當您嘗試此操作時,出現了什麼問題? – Nikola
作爲JSF頁面的一部分顯示?在應用程序的單獨頁面上顯示「plain」xml?或者它是應用程序之外的資源,因爲「http:// ...」會提示? – Nikola