0

我们一直在尝试解决为什么我们使用 JSF 1.2 构建的应用程序似乎呈现 HTML 源代码而不是按预期呈现页面。我们正在使用 PrettyFaces 来美化 URL。Mozilla Firebug 偶尔会为网页显示“text/plain”的 Content-Type 响应标头,但是当我们刷新同一页面时,它显示为“text/html”的 Content-Type 没问题。

为了确定,我们还在响应过滤器中包含了一个显式的 response.setContentType("text/html")。

  1. IE 9.0:大部分时间运行良好,但偶尔会出现问题
  2. IE 8.0:经常出现问题,有时有效,有时无效
  3. Safari (Windows) 和 Chrome 20:经常出现问题,有时有效,有时无效

HTML 源代码

<!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">
    <head>
        <script type="text/javascript" src="/js/include.js"></script>
        <script type="text/javascript" src="/js/tabs.js"></script>

        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

.htaccess

Order allow,deny
Allow from all
IndexIgnore *

任何解决此问题的帮助将不胜感激。

4

1 回答 1

0

这听起来不像 PrettyFaces 的问题,因为 PF 不会更改渲染输出的内容类型。我认为这听起来您可能在您的漂亮配置中使用了不正确的或 @ViewId。

我首先要确保您转发到将由 faces servlet 处理的正确视图 ID。如果您在不调用 faces servlet 的情况下转发到 JSF 视图文件(例如 /faces/ ,而不是 /actual/view/

这种遗漏会导致您描述的行为。

这有帮助吗?~林肯

于 2012-06-28T15:35:54.653 回答