I'm trying to run my Eclipse JSF project on Apache Tomcat on other computer. I created a WAR file with this tutorial. However, when I deploy the WAR and open the Facelet page in Firefox, I'm getting only the following error message:
This XML file does not appear to have any style information associated with it. The document tree is shown below.
This my first time when I try run my JSF app without Eclipse. How is this caused and how can I solve it?
I'm actually trying to open the following Facelet page:
<?xml version="1.0" encoding="UTF-8"?>
<ui:composition template="/WEB-INF/templates/template_a.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets">
<ui:define name="title">
tytol
</ui:define>
</ui:composition>
You need to make sure that the HTTP request URL, as you see in browser's address bar, matches the <url-pattern> of the FacesServlet as registered in webapp's web. xml , so that it will be invoked and be able to generate the desired HTML output based on the XHTML source code.
Answer: This occurs when the workstation or browser does not have a default RSS feed reader installed or enabled. You may notice in Chrome because Chrome does not have a default RSS reader, like Firefox or Internet Explorer.
View an XML file in a browser In Chrome, just open a new tab and drag the XML file over. Alternatively, right click on the XML file and hover over "Open with" then click "Chrome". When you do, the file will open in a new tab.
This XML file does not appear to have any style information associated with it. The document tree is shown below.
You will get this message in the client side when the client (the web browser) for some reason interprets the HTTP response content representing a HTML document as text/xml
instead of text/html
and the parsed XML tree doesn't have any XML-stylesheet. In other words, the web browser parsed the retrieved HTTP response content as XML instead of as HTML due to a missing or incorrect HTTP response content type.
In case of JSF/Facelets files which have the default extension of .xhtml
, that can in turn happen if the HTTP request hasn't invoked the FacesServlet
and thus it wasn't able to parse the Facelets file and generate the desired HTML output based on the XHTML source code. Firefox is then merely guessing the HTTP response content type based on the .xhtml
file extension which is in your Firefox configuration apparently by default interpreted as text/xml
.
You need to make sure that the HTTP request URL, as you see in browser's address bar, matches the <url-pattern>
of the FacesServlet
as registered in webapp's web.xml
, so that it will be invoked and be able to generate the desired HTML output based on the XHTML source code. If it's for example *.jsf
, then you need to open the page by /some.jsf
instead of /some.xhtml
. Alternatively, you can also just change the <url-pattern>
to *.xhtml
. This way you never need to fiddle with virtual URLs.
Note thus that you don't actually need a XML stylesheet. In your specific case it was just a misinterpretation from the webbrowser while trying to do its best to make something presentable out of the retrieved HTTP response content.
Add xmlns="http://www.w3.org/2000/svg" atrribute to the begining of the svg tag like this: <svg xmlns="http://www.w3.org/2000/svg"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With