将数据传递给 Servlet



>基本上,我们有一个JSF应用程序,它可以动态生成指向servlet的链接,该servlet提供PDF文件。我需要将PDF的路径传递给servlet。我不知道如何将数据传递给servlet。

在视图中,我们有:

<d:protocolSection value="#{detailBacker.studyData}" id="protocol" />

在控制器中,我们有

public string getFile() {
  .......
  // some variable here that holds the folder and file name
  result += "<a href="/catalog/catalog/WelcomeServlet"  target="_blank">" + name + "</a>
  .......
}

我基本上需要以某种方式将保存文件夹和文件名的变量发送到 WelcomeServlet,以便 WelcomeServlet 可以使用它。

以通常的 Servlet 方式将其作为请求参数或路径信息传递。

下面是一个假设 pathinfo 是首选并且#{bean.pdfpath}返回类似 filename.pdf 的示例:

<h:outputLink value="pdf/#{bean.pdfpath}">Download pdf</h:outputLink>

在映射到 URL 模式的 Servlet 中 /pdf/* 您可以在doGet()方法中按如下方式获取它:

String pdfpath = request.getPathInfo();
// ...

作为完全不同的替代方法,您也可以让 JSF 在命令链接/命令按钮操作方法中将 PDF 写入响应。

保持生成/创建的PDF文件的位置固定,只需传递文件名,例如

/pdfServlet?fileName=#{someBean.someFileName}

在 servlet 的doGet()检索文件名并提供服务。

String fileName = request.getParameter("fileName");

相关内容

  • 没有找到相关文章

最新更新