p:fileUpload 中的侦听器方法永远不会在 primefaces 中调用 [重复]

2023-11-23

我正在尝试上传带有 primefaces 的图像,但未调用 fileUploadListener。

<h:form enctype="multipart/form-data">

        <p:fileUpload fileUploadListener="#{fileUploadController.handleFileUpload}"
        mode="advanced" 
        update="messages"
        sizeLimit="100000" 
        allowTypes="/(\.|\/)(gif|jpe?g|png)$/"/>

<p:growl id="messages" showDetail="true"/>

这是豆子:

@ManagedBean
@RequestScoped
public class FileUploadController {
    public void handleFileUpload(FileUploadEvent event) throws Exception {
      System.out.println("OOOOOOOOOOOOOOOOOOK");
            File targetFolder = new File("C:/Uploads");
            InputStream inputStream = event.getFile().getInputstream();
            OutputStream out = new FileOutputStream(new File(targetFolder,
                    event.getFile().getFileName()));
            int read = 0;
            byte[] bytes = new byte[1024];

            while ((read = inputStream.read(bytes)) != -1) {
                out.write(bytes, 0, read);
            }
            inputStream.close();
            out.flush();
            out.close();  

    }
}

这是 web.xml 配置:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<filter>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
  <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>faces/index.xhtml</welcome-file>
    </welcome-file-list>
</web-app>

我还在类路径中添加了 commons-fileupload 和 Commons-io jar。 我不明白为什么不调用handleFileUpload。


您已明确配置要侦听的文件上传过滤器FORWARD仅调度员。

你需要要么remove过滤器映射中的以下条目,以便它默认侦听REQUEST仅调度员:

<dispatcher>FORWARD</dispatcher>

Or, to add the REQUEST调度程序到过滤器映射,以便它也可以在正常请求上运行:

<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>

The FORWARD调度员仅在以下情况下是强制性的RequestDispatcher#forward()被称为before过滤器被调用。例如,通过一些 URL 重写解决方案,例如 PrettyFaces。然而,问题中到目前为止提供的信息似乎并没有以任何方式表明您正在使用它。


无关对于具体问题,由于PrimeFaces文件上传需要Apache Commons IO,您可能需要考虑IOUtils#copy()而不是冗长的输入/输出流循环。也可以看看:如何在JSF中保存上传的文件.

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

p:fileUpload 中的侦听器方法永远不会在 primefaces 中调用 [重复] 的相关文章

  • ExternalContext#dispatch() 不起作用

    我有服务器端倒计时计数器 当它 0时 方法应该执行ExternalContext dispatch 但它没有做到 方法ExternalContext redirect 在这个地方工作正常 else try FacesContext getC
  • jsf 2 primefaces openDialog 不起作用?

    我正在尝试使用 Primefaces 的对话框架 但我已经陷入了设置 http www primefaces org showcase ui dialogFrameworkBasic jsf http www primefaces org
  • IFormFile 未由 dropzone uploadMultiple 请求填充

    我遇到的问题是 IFormFile 列表没有填充给定的文件 但是当我调用 HttpContext Request Form Files 时然后我就可以访问这些文件了 我更喜欢使用 IFormFile 因为它似乎是新的 Dotnet core
  • 干预/图像上传错误{{图像源不可读}}

    我正在尝试添加个人资料图片上传拉拉维尔 5 1 我用的是Intervention Image打包但当我尝试上传图像时出现此错误 AbstractDecoder php 第 302 行中的 NotReadableException 图像源不可
  • IE 中的文件上传按钮和奇怪的文本光标行为

    我构建了一个上传按钮 其格式类似于典型的 html 按钮 而不是浏览器标准文件上传表单 该方法是设置锚元素的样式并在顶部覆盖透明文件输入元素 这种方法在除 IE 之外的所有浏览器中都可以正常工作 在 IE 中 当用户单击上传按钮时 会出现一
  • 如何克服 NeatUpload 对象引用错误?

    安装 NeatUpload http neatupload codeplex com http neatupload codeplex com 并将演示放到我的服务器 Windows Server 2008 和 IIS7 上 当我在组合框中
  • Logger,从@Inject转换为生产者

    我在实现像示例这样的登录界面时遇到问题使用 JSF 2 1 PrimeFaces 3 5 EJB 3 1 JPA ORM EclipseLink JAAS MySQL 的简单 CRUD Web 应用程序 http www simtay co
  • 如何保留primefaces数据表的排序顺序?

    在我的项目中 我使用 ViewScoped bean 并且有两个页面 一个是主页 另一个是详细信息页面 在主页中 我有一个具有排序和过滤功能的 primefaces 数据表 数据表的每一行都有一个链接 如果我对列进行排序 那么它就可以正常工
  • 在 Java Servlet 中上传文件

    我有一个 Java 动态 Web 项目 并且正在使用 TomCat v7 0 我是 Web 项目的新手 不太明白如何在我的 jsp 页面之一中上传文件 由于我的项目只是本地的 所以我认为我可以使用多部分形式 其中人们可以选择文件 并且这部分
  • 带预览和进度栏的 Twitter Bootstrap 图像上传

    我如何使用 Twitter Bootstrap 上传带有预览和进度条的单个图像 目前 在保存图像之前 我看不到上传图像的任何预览或进度条 Jasny 的 Bootstrap 分支让您能够接近这一点 看文档 http jasny github
  • 使用 HttpHandler 或 HttpModule 上传大文件?

    我有一个网络表单应用程序 它需要能够上传大文件 100MB 我打算使用 httpHandler 和 httpModule 将文件拆分为chunk 我也看过http forums asp net t 55127 aspx http forum
  • JSF a4j:设置“禁用”时命令按钮不起作用

    当我在 a4j commandButton 上包含 disabled 属性时 不会执行该按钮的操作 去掉 禁用 属性会使其正常工作 我没有进行任何特殊的验证 据我所知 也没有看到任何验证错误消息 这是我的页面的一部分
  • JSF中直接更改URL来限制用户访问页面

    我的应用程序中有两种用户 客户和卖家 我正在使用一个PhaseListener在JSF中防止用户在未登录的情况下访问页面 但在登录后我不知道如何防止用户更改地址栏中的URL并访问他也不允许的页面 例如 阻止客户访问卖家页面 有谁知道我如何防
  • ui:define with generated="false" 属性仍然呈现

  • jsf中的会话注销问题

    我正在开发一个 Web 应用程序 并使用框架 jsf hibernate 和 spring 应用程序中有不同类型的用户 根据此处登录的用户类型 我为不同的用户类型启用菜单中的链接 用户登录后 会向用户提供菜单栏中的注销链接 我已经编写了 l
  • 如何向 JSF 应用程序发送手动 jQuery Ajax 请求?

    我正在做一个POST 使用 jQuery 的请求似乎成功了 但是我如何在服务器端使用它并修改响应 我是否需要另一个 servlet 因为 Faces Servlet 不是为处理这个问题而设计的 ajax type POST data sta
  • 如何将值传递到 selectOneMenu 中的监听器

    我有 2 个下拉菜单 类型和代码 如果值 A 或 B 或 C 我希望代码下拉列表根据类型下拉列表更改值 如何将 A 或 B 或 C 的值传递给侦听器 以便它可以理解和处理我的 List
  • SIM800C GSM AT 命令如何以编程方式上传 .amr 音频文件

    我拼命尝试将一些音频文件上传到SIM800C的内部存储器 到目前为止 这是我能够做到的 但上传的文件似乎无效 并且不播放任何声音 但与AT FSLS C 我可以看到该文件就在那里 以下是我使用的 AT 命令 AT FSCREATE tts2
  • 从支持 bean 更新 PrimeFaces 数据表

    我在 bean 中使用 Schedule Timer 当员工注册从指纹设备获取数据时 它会更新变量 当 bean 中的变量更新时 我需要从支持 bean 更新 jsf 中的组件 我尝试使用 primefaces poll 组件 但它每次都会
  • 如何将 .xlsx 文件上传到 jenkins 作业

    如何将 xlsx 文件作为构建参数上传到 jenkins 作业 我尝试使用文件参数 但我发现该文件正在丢失其扩展名或原始格式 有什么方法可以从 jenkins UI 将 excel 文件上传到 jenkins 作业吗 In the file

随机推荐

  • Android - 如何动态加载可绘制对象(图片)?名称直到运行时才知道

    我已经多次搜索谷歌和这个网站 但找不到我的问题的解决方案 首先 我明白 您可以使用以下方式加载图像 int image R drawable icon assuming there s a file called icon png 我读过并
  • PHP - 为什么我收到正则表达式太大的警告?

    我想使用正则表达式来验证用户输入 我想允许字母 数字 空格 逗号 撇号 句号 感叹号和问号的任意组合 但我也想将输入限制为 4000 个字符 我想出了以下正则表达式来实现此目的 a z 0 9 1 4000 i 但是 当我尝试使用此正则表达
  • 配置 Log4net 以写入多个文件

    我想将日志写入同一进程的两个不同的日志文件中 使用 log4net 可以做到这一点吗 我需要将单独的消息写入每个日志文件 如何向特定的附加程序写入消息 这些答案很有帮助 但我想与 app config 部分和 c 代码部分分享我的答案 这样
  • Matplotlib 1.5 使用axes.prop_cycle

    axes color cycle在 Matplotlib 1 5 中已弃用 然而它的用法非常简单 我们可以通过以下方式轻松获取特定颜色 plt rcParams axes color cycle color number axes prop
  • 热键/快捷方式:“这是哪个插件?”

    请原谅这么简单的问题 我已经离开 RCP 大约一年了 我可以在 Eclipse 中使用什么快捷键 热键组合来发现贡献 拥有当前视图的插件 我记得它调出了当前鼠标下插件的plugin xml 我应该非常感谢你的线索 M The Plug in
  • a:悬停不起作用

    HTML table width 100 tr td width 90 td td a href strong Logout strong a td tr table CSS charset utf 8 CSS Document logou
  • php 检查数组数组中是否存在值

    我有一个数组中的数组 a array 0 gt array value gt America 1 gt array value gt England 如何检查数组中是否存在 America America 数组可以是任何键 并且可以有任意数
  • Clojure - 为什么在阻塞插入通道时执行会挂起? (核心.异步)

    考虑以下片段 let chs repeatedly 10 chan doseq c chs gt c hello doseq c chs println c hello 相反 它工作得很好 要进行异步放置 请使用clojure core a
  • 如何更改 JFrame 中的 java 图标

    好吧 我一直在安静地研究这个问题 我对 java 相当陌生 但认为这很容易 我已经尝试了该网站上已回答的几乎所有方法 但仍然没有运气 通常当我在这里查看时 我能够找到适合我正在寻找的答案 有谁知道如何更改 JFrame 右上角的 Java
  • 上传前预览图像

    我希望能够在上传文件 图像 之前对其进行预览 预览动作应该全部在浏览器中执行 而不是使用Ajax上传图像 我怎样才能做到这一点 imgInp onchange evt gt const file imgInp files if file b
  • 如何深度复制 DateTime 对象?

    date1 date2 new DateTime date2 gt add new DateInterval P3Y Now date1 and date2包含相同的日期 三年后 我想创建两个单独的日期时间 一个是从字符串解析的 另一个是添
  • 检查所有 EditText 是否为空

    我在 xml 中有 6 个 EditText 字段 单击按钮时 我需要验证所有 EditText 是否都有值或者为空 目前我正在一一检查每个 EditText 我怎样才能一次检查所有内容 代码 private Button BtnSave
  • 业力开始 - 传递参数

    有没有办法通过 Karma 命令行传递参数 然后在测试中的某个位置读取该参数 例如 这就是想要的 karma start branding clientX 然后在我的规范中的某个地方我需要访问这个变量 我需要 clientX 值 这有可能吗
  • 如何更改 SignalR 最大消息大小?

    我需要在 SignalR 中传输大型 JSON 消息 但默认情况下最大消息大小受到限制 有什么方法可以增加该最大大小 我还找到了一些相关链接 但没有找到任何合适的解决方案 https learn microsoft com en us as
  • 如何在Python中提取XML属性的值?

    我需要使用 Python 提取 XML 文档中的属性值 例如 如果我有一个像这样的 XML 文档
  • 如何在网页中连续显示python输出?

    我希望能够访问一个网页 它将运行一个 python 函数并在网页中显示进度 因此 当您访问网页时 您可以看到脚本的输出 就像从命令行运行它一样 并在命令行中查看输出 我需要在函数中做什么 我需要在模板中做什么 EDIT 我正在尝试将 Mar
  • 未捕获的类型错误:无法添加属性 12,对象不可扩展

    我似乎无法理解我在客户端应用程序上遇到的错误 我正在订阅 graphql 订阅 并且能够检索更新 但无法将更改推送到绑定到视图的名为 models ModelClass 的打字稿数组 我是否遗漏或做错了什么 模型 组件 ts this ap
  • PHP Zend Framework - 如何从请求对象获取请求 URI 片段?

    比如说我有一个 URIhttp 127 0 0 1 somecontroller someaction 12345这带我去someAction someController 控制器的操作 从那里 我可以通过检索请求对象 this gt ge
  • 制作多语言网站的最佳方式

    我用 ASP NET C 及其内容English 现在我需要以支持多种语言的方式制作这个网站 即 德语 法语 标签 文本框 字符串所有值将显示各自选定的语言 在搜索时我发现有一些方法 比如 使用本地化 使用资源文件 数据库 不同语言的所有内
  • p:fileUpload 中的侦听器方法永远不会在 primefaces 中调用 [重复]

    这个问题在这里已经有答案了 我正在尝试上传带有 primefaces 的图像 但未调用 fileUploadListener