运行 JSF "Hello World"时出现异常行为



在服务器上运行我的JSF "Hello World"时,我得到一个文件下载消息框,说"您是想保存这个文件,还是找到一个在线程序来打开它",其中有三个选项查找,保存和取消。当我点击"查找"时,显示以下消息

"Windows有以下关于此MIME类型的信息。本页将帮助您找到打开文件所需的软件。

MIME类型:application/xhtml xml

描述:未知

Windows不识别此MIME类型。"

我的XHTML是

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" 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">
<h:head>
    <title>Insert title here</title>
</h:head>
<h:body>
    <f:view>
        <h:outputText value="Hello World"></h:outputText>   
    </f:view>
</h:body>
</html>

web . xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="WebApp_ID" version="3.0">
    <display-name>hospital</display-name>
    <welcome-file-list>
        <welcome-file>login.xhtml</welcome-file>
    </welcome-file-list>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.xhtml</url-pattern>
    </servlet-mapping>
</web-app>

如果我运行那个特定的xhtml文件,那么它就会显示在IE中。但是对xhtml文件的任何更新都会在刷新IE后显示。

我正在使用Eclipse-helios IDE, Glassfish webserver。提前感谢

MSIE确实不支持application/xhtml+xml的内容类型。该页面的内容类型应为text/html(您可以使用HTTP/web开发人员工具进行验证)。但是JSF/Facelets的默认配置应该已经完成了。您似乎没有在给定代码的任何地方重写内容类型。其中一种方法是使用<f:view>标签的contentType属性来定义它。另一种方法是在一些网络过滤器中调用HttpServletResponse#setContentType()。或者,完全不同,也许是由web服务器自己或代理在行后完成的。

相关内容

  • 没有找到相关文章

最新更新