【问题标题】:Issue with 'context.setResponseContentLength(fileSize)' metthod in JSFJSF 中的“context.setResponseContentLength(file Size)”方法的问题
【发布时间】:2014-12-31 15:09:41
【问题描述】:

我正在使用“jsf-api-2.1.2.jar”文件使用 JSF 构建一个 Web 应用程序,并在那里创建了一个 ExternalContext 对象。我正在使用该对象来访问“responseReset()”、“setResponseContentType(String)”和 setResponseContentLength(int),但它表明这些方法不存在。我检查了“ExternalContext.class”文件,发现这些方法存在于该类中,但我不确定为什么将它们显示为未定义方法。 我在 Jboss 5.1 服务器上运行这个项目。 有人可以帮助我吗?提前致谢!

【问题讨论】:

  • 请发表您的尝试。
  • 它正在显示 - eclipse - 还是在运行时出现异常?
  • 您不应该“使用”您自己亲手丢弃的罐子。您是否下载了 JSF jar 并将它们手动安装到您的应用程序服务器/类路径中?
  • 您好,谢谢!为大家的回应。这个问题现在由我解决了。

标签: jsf jakarta-ee xhtml jboss5.x


【解决方案1】:

你可以使用这个代码

ExternalContext econtext = FacesContext.getCurrentInstance().getExternalContext();
        econtext.responseReset();
        econtext.setResponseContentType(contentType);
        econtext.setResponseHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
        econtext.setResponseContentLength(contentLength);

一切正常。

【讨论】:

  • 正确,但这与 OP 的原始问题无关
猜你喜欢
  • 2014-07-17
  • 1970-01-01
  • 2019-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-23
  • 1970-01-01
相关资源
最近更新 更多