PrimeFaces 文件上传

2024-04-14

我正在一个项目中使用 jsp/Servlet,并且决定使用 PrimeFaces 迁移到 JSF,我在尝试使用 PrimeFaces 文件上传控件上传文件时遇到了问题,然后当我将其配置到 web.xml 中时,它运行良好,问题就来了现在所有旧的 jsp 文件上传方式都不起作用:

 DiskFileUpload upload = new DiskFileUpload();
 List items = upload.parseRequest(request);

事实上,一个 HTTP 请求只能被解析一次。如果您需要解析它两次,客户端不会第二次发送它。您的问题表明,由于某种原因,PrimeFaces 文件上传过滤器也在普通 JSP/Servlet 请求上调用,因此在普通 JSP/Servlet 有机会解析 JSF 供自己使用之前解析 JSF 的上传。这不应该发生。

您只需将 PrimeFaces 文件上传过滤器映射到 JSF 请求,而不是普通的 JSP/Servlet 请求。通常,您可以通过将其映射到FacesServlet.

<filter-mapping>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
</filter-mapping>

(the <servlet-name>必须与中使用的值完全相同<servlet>的定义FacesServlet班级;这<filter-name>显然与中使用的值完全相同<filter>文件上传过滤器类的定义)

或者,如果由于某种不明显的原因在 JSF 页面中直接使用旧的 JSP/Servlet 文件上传方法,那么您需要将 PrimeFaces 文件上传过滤器映射到更具体的 URL 模式,仅覆盖包含 PrimeFaces 文件上传组件的页面。

<filter-mapping>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
    <url-pattern>/upload.xhtml</url-pattern>
</filter-mapping>

(如果您已映射FacesServlet例如*.jsf代替*.xhtml,那么您显然应该将 URL 模式更改为/upload.jsf)

请注意,您可以指定多个<url-pattern>单个过滤器映射上的条目,这对于您有多个包含 PrimeFaces 文件上传组件的页面的情况非常有用。

<filter-mapping>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
    <url-pattern>/upload1.xhtml</url-pattern>
    <url-pattern>/upload2.xhtml</url-pattern>
    <url-pattern>/upload3.xhtml</url-pattern>
</filter-mapping>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PrimeFaces 文件上传 的相关文章

随机推荐

  • 有已知网络爬虫的列表吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试获取网络服务器上某些文件的准确下载数量 我查看了用户代理 其中一些显然是机器人或网络爬虫 但
  • 我真的需要 malloc 吗?

    据我了解 malloc是用来动态分配内存的 在我的代码中 我有时会调用以下函数 int memory get log unsigned char day unsigned char date unsigned char month char
  • App Store:仅针对 iPhone/iPod 推出,不适用于 iPad

    如何在 App Store 上启动仅适用于 iPhone iPod 而不是 iPad 的应用程序 我似乎在 plist 文件和 iTunesConnect 中都找不到任何设置 谢谢 你不能 Apple 的应用程序商店指南似乎明确不允许 iP
  • css位置固定根本不起作用

    我正在寻找一个页脚类型的东西布莱克霍利网站 http www blakehawley com它有一些不同的链接等 它应该是横幅样式 我的意思是它应该停留在底部并被修复 div 是 菜单 这是我的 HTML
  • 当 merge.ff = only 时如何挤压合并?

    首先 我有我的merge ff设置为only as in git config global merge ff only 我这样做是因为我不希望 git 在没有先与我检查的情况下进行非快进合并 这是一个很好的保障 确保我有机会做一些除了创建
  • ServiceStack AppHost 是单例吗?

    我一直在评估 ServiceStack 到目前为止 我已经被说服了 但我有一个要求 think将会破坏交易 我基本上需要多个 AppHost 派生的实例 第一个运行良好 但其余的则失败 因为 AppHostBase Instance 已被设
  • 执行 tail -F 直到匹配模式

    我想做一个tail F在文件上直到匹配模式 我找到了一种使用方法awk 但恕我直言 我的命令并不是很干净 问题是我need由于某些限制 只能用一行来完成 tail n 0 F tmp foo awk W interactive if 1 E
  • 使用支持库 v21 设置 SearchView Widget 的样式

    我正在尝试使用新的 AppCompat v21 设计 SearchView 小部件的样式 但我遇到了一些问题 无论我在 suggestionRowLayout 属性上设置什么布局 它都不会执行任何操作 SearchView 的建议下拉列表保
  • R中5个排名的频率统计

    假设我有 5 件商品A B C D E并让受访者对它们进行排名 数据看起来像这样 gt df rank1 rank2 rank3 rank4 rank5 1 A B C D E 2 A C B D E 3 C A B E D 4 B A C
  • 如何避免 jasmine 在不同环境下出现较长的相对路径(../../../)?

    我目前正在开发一个项目 我想在不同的环境中进行测试 包括 node js 和带有 karma selenium 的不同浏览器 以避免兼容性问题 我想我会在浏览器中使用browserify 但我还不熟悉它 我有一个嵌套的测试目录 如下所示 r
  • verilog 中的案例陈述

    我遇到了优先级编码器设计 并找到了一种使用 case 语句来实现它的新方法 唯一令人困惑的是 case语句是否优先考虑case 例子 case 1 b1 A 3 Y lt 4 b1000 A 2 Y lt 4 b0100 A 1 Y lt
  • toDataURL 不是函数

    我正在尝试为画布生成一个网址 以下是我遵循的步骤 var can document getElementsByTagName canvas var src can toDataURL image png 当我尝试在 firebug 上运行上
  • 导航架构:如何在不使用clearTask的情况下管理正确的导航,因为它已被弃用

    当使用导航架构时here https issuetracker google com issues 116831650 here https issuetracker google com issues 80338878不推荐使用clear
  • 蓝牙文件发送

    我是蓝牙开发的新手 我发现了 32netfeet 现在我可以搜索附近的蓝牙设备并连接到它们 但如何发送文件 例如 SendTest txt 我尝试使用 OBEX 的 buttonclick 事件 但我不明白这是我的示例代码 using In
  • powershell 中的 DLLImport 用于使用相对路径访问 C 风格 32 位 API

    我想用powershell中的相对路径导入dll 下面是我尝试导入 dll 的代码片段 dirpath split path MyInvocation MyCommand Definition testDllPath dirpath Tes
  • SQL Server Management Studio (SSMS):最近的文件 (MRU) 菜单过于缩写而无法使用

    我在查找要编辑的正确 SQL 文件时遇到问题最近的文件 有时称为 MRU 最新版本的 SSMS 中的列表 我使用的是 18 5 我的文件具有相似的名称或相同的名称 但位于不同的文件夹中 这在 SSMS 的早期版本 我认为是 18 之前的版本
  • JavaScript 正则表达式匹配平衡结构而不关心不平衡结构

    我正在开发一个基于 JavaScript 的项目 该项目涉及一个基本的 Bash 启发的脚本系统 并且我正在使用正则表达式将行分隔成 多种类型的 标记 一种这样的令牌类当然是递归的 构造 该结构可以任意嵌套 我正在尝试设计一个 JavaSc
  • tkinter.ttk.Treeview根节点图标/图像不出现

    Problem 我无法让图标图像出现在 tkinter ttk Treeview 中根节点旁边 下面是我使用的测试代码 它执行时没有错误 但图像没有出现在根节点的左侧 我尝试过使用图像文件的完整路径名 但这不起作用 另外 我尝试使用 PIL
  • HTML5 Canvas 动画偶尔出现抖动/犹豫/卡顿

    在 Firefox 11 中 我在使用 HTML5 画布和翻译的一些基本动画中偶尔遇到抖动 犹豫 口吃的情况 请看下面的例子 http jsfiddle net ACRdx http jsfiddle net ACRdx 上面示例中的配置似
  • PrimeFaces 文件上传

    我正在一个项目中使用 jsp Servlet 并且决定使用 PrimeFaces 迁移到 JSF 我在尝试使用 PrimeFaces 文件上传控件上传文件时遇到了问题 然后当我将其配置到 web xml 中时 它运行良好 问题就来了现在所有