【发布时间】:2012-10-12 10:28:40
【问题描述】:
我正在开发一个使用 Ice faces 3、tomcat 7.0 的 JSF 应用程序。我的问题是该应用程序在 Firefox 和 chrome 上运行良好,但在 Internet Explorer 9 中无法打开。它不会抛出任何错误,只是页面在 ie 上显示为空白。 这是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"[
<!ENTITY nbsp " ">
<!ENTITY auml "ä">
<!ENTITY ouml "ö">
<!ENTITY Ouml "Ö">
<!ENTITY uuml "ü">
<!ENTITY szlig "ß">
]>
<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:icecore="http://www.icefaces.org/icefaces/core" xmlns:ace="http://www.icefaces.org/icefaces/components" xmlns:ice="http://www.icesoft.com/icefaces/component"
>
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>#{msgs.MyTitle}</title>
<link rel="stylesheet" href="./css/tas.css" />
<ice:outputStyle href="./css/processbar.css" />
<script type="text/javascript" defer="defer" language="javascript" src="posadmin.js" />
</h:head>
<h:body>
<ice:panelGrid columns="1" cellspacing="0" cellpadding="0" border="0" width="100%">
***<ui:include src="head.xhtml"/>
<ui:include src="Filter.xhtml"/>
<ui:include src="admin.xhtml"/>***
</ice:panelGrid>
<ice:form id="error_form">
<ui:include src="/popups/error.xhtml"></ui:include>
</ice:form>
<ice:form id="message_form">
<ui:include src="/popups/message.xhtml"></ui:include>
</ice:form>
<ice:form id="close_form">
<ui:include src="/popups/close.xhtml"></ui:include>
</ice:form>
</h:body>
</html>
当我删除任何一个 ui:include 语句时
<ui:include src="head.xhtml"/>
<ui:include src="Filter.xhtml"/> or
<ui:include src="admin.xhtml"/>
在上面,我删除了所有的冰块:页面显示在 IE 9 上的表单块... 有人可以帮我吗????
【问题讨论】:
-
浏览器特定的渲染错误不一定是由 JSF 引起的,而是由它生成的 HTML/CSS/JS 代码引起的。您应该尝试获取生成的 HTML/CSS/JS 代码的原始副本(在浏览器中打开页面、右键单击、查看源代码、下载等),然后在问题仍然存在时尝试消除尽可能多的部分。最后将问题重新发布并重新定位给 HTML/CSS 专家(不一定是 JSF 专家)。得到答案后,将原因回溯到 JSF 代码中并在其中进行相应的修复。
标签: jsf internet-explorer-9 icefaces