Android的WebKit和JavaServerFaces

时间:2012-03-16 15:14:18

标签: android jsf webkit

我想知道为什么WebKit尝试将我的页面呈现为XML而不是HTML。 我尝试了这个问题(通过模拟器和真实设备)用于所有可用的Android SDK版本,并且只有自Android 2.3.4(API 10)和WebKit / 533.1以来一切正常 另一个奇怪的是浏览器版本:

Android 2.2.1有WebKit / 533.1,Android 2.3.4也有WebKit / 533.1

所以,我的页面不想在2.2.1中使用533.1进行渲染,但是在2.3.4中使用相同的533.1都很好? 页面代码很简单:

<!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>

谷歌说我必须将Content-Type标题声明为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

你遇到过这样的问题吗?

谢谢, 弗拉基米尔

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。只需从正文中删除<ui:composition>标记。