在 p:dataTable 上执行搜索后,p:dataTable 中的 p:fileDownload 不起作用(仅刷新页面)

2023-12-24

我有一个 JSF/PrimeFaces Web 应用程序。在一页中<p:dataTable> and <p:fileDownload>组件被使用。 bean 构造函数从数据库加载数据。页面加载时它工作正常。下载按钮位于数据表的最后一列中。单击此按钮后,它将进入文件下载控制器,一切正常。

但是,如果我向页面添加一个搜索功能,该功能根据查询过滤数据表结果,那么单击下载按钮不会返回下载的文件,而只会刷新页面。

这是如何引起的以及如何解决?


如果背后的模型value of the <p:dataTable>显示带有搜索结果的表格的请求与下载文件的请求之间发生了不兼容的更改。如果您的 bean 是请求范围的,那么这种情况就会发生。然后在每个 HTTP 请求上新创建该模型。在表单提交请求期间,JSF 需要迭代模型,同时在数据表中查找并执行操作。但是,如果模型所代表的模型与显示表单时的模型不同,那么这一切都会失败。

将 bean 放在视图范围中应该可以解决问题,前提是您在(后)构造函数中正确初始化模型并在(动作)侦听器方法中更改它,从而not在任何 getter 方法中。只要您回发到同一视图,视图范围的 bean 实例就会存在,因此模型不再在每个请求上重新初始化,但同一视图上的请求之间将重用同一个模型。

或者,如果出于技术原因确实需要将 bean 保留在请求范围内,那么您需要确保也将搜索查询作为请求参数传递,以便可以根据搜索查询正确初始化模型。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 p:dataTable 上执行搜索后,p:dataTable 中的 p:fileDownload 不起作用(仅刷新页面) 的相关文章

  • PHP:如何访问根目录之外的下载文件夹? [复制]

    这个问题在这里已经有答案了 我如何创建一个 PHP 脚本 页面 允许会员 买家下载存储在根目录之外的下载文件夹中的压缩文件 产品 我正在使用 Apache 服务器 请帮忙 谢谢 保罗 G 您可能会在 soac 提供的链接中找到一些更好的信息
  • 使用 LINQ 更新 DataTable 中的两列

    我想使用 LINQ 查询在一行中更新 DataTable 的两列 目前我正在使用以下两行来执行相同的操作 oldSP Select string Format itemGuid 0 itemGuid ToList
  • 通用 JSF 实体转换器[重复]

    这个问题在这里已经有答案了 我正在编写我的第一个 Java EE 6 Web 应用程序作为学习练习 我没有使用框架 只是使用 JPA 2 0 EJB 3 1 和 JSF 2 0 我有一个自定义转换器 用于将存储在 SelectOne 组件中
  • 如何在 ASP.NET MVC 中将 XML 文件发送到客户端

    在 ASP NET MVC 中 我有一个数据库表 我想在某个视图页面上有一个按钮 如果某个用户单击该按钮 我的应用程序将生成包含数据库中所有行的 XML 文件 然后 应将包含 XML 的文件发送到客户端 以便用户看到下载弹出窗口 同样 我希
  • 使用 f:ajax 渲染多个组件

    错误的代码是
  • WPF MVVM将DataTable绑定到DataGrid不显示数据

    我有一个简单的控件 其中包含一个 DataGrid 其中 ItemsSource 绑定到 DataTable 当我填充 DataTable 时 我可以看到 DataGrid 中添加了行 但没有显示任何数据 我没有为此 DataGrid 使用
  • 无法在 JSF 应用程序中解析文档 faces-config.xml

    我正在开发一个 JSF Web 应用程序 我将 JSF 2 2 与 Apache Tomcat 8 0 27 0 结合使用 当我按 clean build 时 它工作正常 但是当我尝试运行我的应用程序时 我收到此异常 com sun fac
  • 根据不平凡的标准有效合并两个数据帧

    正在接听这个问题 https stackoverflow com questions 18821862 data selection error 18823432 18823432昨晚 我花了一个小时试图找到一个没有增长的解决方案data
  • 以 UTF8 而不是 UTF16 输出 DataTable XML

    我有一个 DataTable 我正在使用 WriteXML 创建一个 XML 文件 尽管我在以 UTF 16 编码导出它时遇到问题 并且似乎没有明显的方法来更改它 我了解 NET 在字符串内部使用 UTF 16 这是正确的吗 然后 我通过
  • R data.table 多个条件连接

    我设计了一种解决方案 用于从两个单独数据表的多个列中查找值 并添加基于新列的值计算 多个条件比较 代码如下 它涉及在计算两个表中的值时使用 data table 和联接 但是 这些表没有联接在我正在比较的列上 因此我怀疑我可能无法获得 da
  • 下载进度条在 iOS 企业发行版中没有改变进度

    我正在通过企业分发开发和分发 iPad 应用程序 它们下载并执行良好 因此一切正常 Web 链接 ipa 文件 plist 文件 配置 问题 是 当用户单击链接进行下载时 iPad 中显示下载进度的进度条显示 正在等待 但却是空的并且永远不
  • R data.table 1.9.2 关于 setkey 的问题

    这似乎是 1 8 10 后引入的一个错误 与包含列表的 DT 的 setkey 相关 运行下面两个代码来查看问题 library data table dtl lt list dtl 1 lt data table scenario 1 p
  • 中止来自 jsf.ajax.addOnEvent() 的 JSF Ajax 请求

    我希望有一个中心位置来监视 ajax 请求并在某些情况下中止它们 我唯一不知道要做的一件事就是实际中止来自一个中央函数的 ajax 请求 我想象解决方案看起来像这样 jsf ajax addOnEvent function data if
  • 数据表中每一行的工具提示

    这个问题尖叫着是重复的JSF 2 0 Primefaces 2 x 数据表行的工具提示 https stackoverflow com questions 9980155 jsf 2 0 primefaces 2 x tooltip for
  • JSF 命名 Bean,Eager 应用程序范围(又名 @ManagedBean(eager=true) )

    有没有办法初始化带有注释的命名Beanjavax inject Named javax enterprise context ApplicationScoped like ManagedBean eager true from javax
  • 如何在 data.table 中分组后使用条件计算行数

    我有以下数据框 dat lt read csv s1 s2 v1 v2 a b 10 20 a b 22 NA a b 13 33 c d 3 NA c d 4 5 NA c d 10 20 dat gt A tibble 6 x 4 gt
  • 在 Select(DropDown) 更改事件上重新初始化 Jquery DataTable

    我正在使用 Jquery UI DataTable 它被填充select DropDown change事件 在PageLoad没关系 当我表演时dropdown change event DataTable is Reinitialize
  • data.table 抛出“找不到对象”错误[重复]

    这个问题在这里已经有答案了 我有一个数据表 library data table mydt lt data table index 1 10 当我在全局环境中尝试它时 我可以让它工作 但当我在调试器中或在包测试中使用它时却无法工作 问题是我
  • 如何从任何网站下载视频

    我只是想知道如何从任何网站下载视频的总体思路 我尝试的事情 我检查页面 在视频属性标记中看到 blob URL 将 blob URL 复制粘贴到浏览器中 但无法打开 I also look around the Developer tool
  • Primefaces 对话框渲染两次

    我创建了一个 ui component 来像弹出窗口一样使用 因此我可以使用此模板的标准创建很多弹出窗口 该组件只是一个带有两个按钮 取消和提交 的弹出窗口和一个可以覆盖的内容 如下所示

随机推荐