我想知道为什么webkit试图将我的页面呈现为xml而不是html。
我在所有可用的android sdk版本中都尝试了这个问题(通过模拟器和真实设备),并且只有在android 2.3.4(api 10)和webkit/533.1一起使用后才一切正常。
另一件奇怪的事是浏览器版本:
android 2.2.1有webkit/533.1,android2.3.4也有webkit/533.1
所以,我的页面不想用533.1在2.2.1中呈现,但是用同样的533.1在2.3.4中呈现得很好??
页面代码很简单:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:c="http://java.sun.com/jsp/jstl/core">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="Cache-Control" content="no-cache" />
    <title>Title</title>
</head>
<body>
...
</body>
</html>

google说我必须将content type header声明为text/html,但它已经被声明了。在请求jsf页面时,我可以通过livehttpheaders(firefox附加组件)看到:
HTTP/1.1 200 OK
X-Powered-By: Servlet/3.0 JSP/2.2 (GlassFish Server Open Source Edition 3.1.1 Java/Sun Microsystems Inc./1.6), JSF/2.0
Server: GlassFish Server Open Source Edition 3.1.1
Content-Type: text/html;charset=UTF-8
Content-Length: 1559
Date: Tue, 13 Mar 2012 19:50:13 GMT

你遇到过这样的问题吗?
谢谢,
弗拉迪米尔

最佳答案

我找到了解决办法。只需从体内移除<ui:composition>标签。

10-04 12:00