java - ZK 主题和 IE 行为 (.htc) 内容类型的问题

标签 java internet-explorer zk html-components

基本问题:

有没有办法设置 jar 中被拉入 ZK 主题的元素的 mime 类型(内容类型)?

扩展背景(已发布到 ZK 论坛但没有回复)

我们正在为我们的应用程序构建一个主题 .jar,我已经使用 zkTheme.bat 使一切正常工作。然而,我遇到的问题是我们正在使用 PIE.htc ( http://www.css3pie.com ) 来为 IE 7 和 IE 8 提供 CSS3 功能(特别是圆角、渐变和框阴影)。在主题中链接它的唯一方法是将它指向 jar 中的相关资源,如下所示:

  behavior:url(${c:encodeURL(c:cat3('~./',project,'/PIE.htc'))});

其中c:是core的命名空间,project是项目的根目录。这指向正确的文件资源,但 header 设置不正确。对文件执行 wget,我们得到以下信息:

HTTP request sent, awaiting response...
  HTTP/1.1 200 OK
  Server: Apache-Coyote/1.1
  Last-Modified: Thu, 28 Apr 2011 12:36:54 GMT
  Cache-Control: public, max-age=31536000
  Expires: Fri, 27 Apr 2012 12:36:07 GMT
  Content-Type: ;charset=UTF-8
  Content-Language: en-US
  Content-Length: 28284
  Date: Thu, 28 Apr 2011 14:08:23 GMT
  Connection: keep-alive
Length: 28284 (28K) []

如您所见,内容类型为空。这可能是因为提供的 .jar 中的大部分文件是图像资源,而不是行为文件。如果我们只获取文件本身,这就是我们得到的结果。

HTTP request sent, awaiting response...
  HTTP/1.1 200 OK
  Server: Apache-Coyote/1.1
  Accept-Ranges: bytes
  ETag: W/"28280-1299679133268"
  Last-Modified: Wed, 09 Mar 2011 13:58:53 GMT
  Content-Type: text/x-component
  Content-Length: 28280
  Date: Thu, 28 Apr 2011 14:10:34 GMT
  Connection: keep-alive
Length: 28280 (28K) [text/x-component]

潜在的问题是 Internet Explorer 看不到“text/x-component”的内容类型 header ,因此没有利用 .htc 中的代码来正确解析 CSS。因此,我的问题是:有没有办法让 zk 从 .jar 中将这个文件作为正确的内容类型提供?环顾配置,我看不出有什么办法。此外,我找不到支持从 theme.jar 中提取的底层代码,以便更改代码来确定此内容类型。我意识到我可以将 PIE.htc 放在网络服务器上的某个位置并指向主题 jar 之外的它,但这使得这段代码的可移植性大大降低,因此完全消除了我们使用主题 jar 的相当一部分逻辑。

请注意:我们在 Tomcat 上提供这个服务,我已经检查了 web.xml 以确保绑定(bind)了 text/x-component,确实如此(这显然是这种情况,否则第二个 wget 不会'已经证明它做了什么)。

最佳答案

因此,我找到了尽可能快速、轻松地满足我需求的解决方法。 基本上,我只是用 behavior.htc.dsp 文件替换了 behavior.htc 文件,并在顶部添加了以下行:

<%@ page contentType="text/x-component;charset=UTF-8" %> 

我最初担心的是,由于扩展名的原因,IE 不会将其解析为正确的文件类型,但显然它只关心 header 中的内容类型,所以它起作用了。

关于java - ZK 主题和 IE 行为 (.htc) 内容类型的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5833776/

相关文章:

java - 如何在zk动态树中选择父节点时选择所有子节点?

java - 应返回具有特定相关实体的实体的查询

javascript - document.execCommand 在具有折叠范围的 IE 中无法正常工作(用户选择)

css - :hover element works in IE only if I scroll the underneath page

javascript - IE 因在闭包中引用 DOM 元素而导致内存泄漏?

java - 在 ZK 中获取 Servlet 输出流

java - 如何在zk框架中的列表框的列表项上获取拖/放事件

java - XQUERY JAVA 不工作

java - 将特定的 Json 键值插入从 Oracle DB 中提取的 Json 主体中

java - addOnScrollListener 不起作用(Android)