最近在学习Primefaces(当然也是项目中需要用的)。在使用其fileUpload遇到了不小的困难,现总结一下供大家及我自己今后参考使用。

1、首先是使用环境配置:正常的Primefaces开发环境就不多说了,网上多的很。说下专门用于fileUpload的几点。

a. 进行web.xml配置:除了创建Primefaces时系统自动提供的东西外,需要在工程的WEF-INF/web.xml里加入以下几行内容:

    <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>
</filter-mapping>
<context-param>
<param-name>primefaces.THEME</param-name>
<param-value>marstor</param-value>
</context-param>

这个原文复制过去就行了,我一朋友在用的时候把

<servlet-name>Faces Servlet</servlet-name>  

里Faces Servlet两个单词首字母小写了,结果上传无法使用害我用了整半天时间检查。

b. 必要的jar包准备  commons-fileupload-1.2.1.jarcommons-io-2.0.1.jar (直接点进去可下载)。这两个文件根据配置不同有的需要放在WEF-INF/lib下一份,有的需要放在{tomctHome}/lib里一份(个人建议一个里面放一份,省得事多)。

c.做完上面的东西后重启一下tomcat。

d.编写fileUpload的代码,注意 mode 要advanced模式的(simple模式的也不好看,也不好调)。

<p:fileUpload fileUploadListener="#{upload.fileUpload}" id="upLoad2"
auto="true" label="导入" update="RegisterInfo" mode="advanced"
style="text-align: center; width: 800px; height: 40px; " />

e.后台正常编写就是了。。里面加个sout,看是不是能把东西打印出来。

2、在做Primefaces时发现另一个东西,就是primefaces的组件可以通过调整实际页面的css来调整其显示效果。也就是我们可以选择部分显示组件而非全部显示组件。还以这个fileUpload组件为示例。正常的 auto="true"模式的组件显示效果如图:
而我做出来效果如图:看,后面的那个灰的bar,和下面的白框都不见了。实际上我在这个页面的css里加入了如下内容:

.ui-fileupload .start {
display: none;
}
.ui-fileupload .cancel {
display: none;
}
.ui-fileupload .progress {
display: none;
} .fileupload-content{
display: none;
} .fileupload-buttonbar{
visibility: hidden;
} .ui-corner-buttom{
display: none;
} .fileinput-button{
visibility: visible;
}

说白了无论什么组件,实际执行到页面里就是一堆html代码。我们用火狐开发者分析这个组件的所以元素,可以看到这个组件的所以组成,然后用css把不想看到的东西屏蔽掉就OK了。

Primefaces的fileUpload组件使用的更多相关文章

  1. .JavaWeb文件上传和FileUpload组件使用

    .JavaWeb文件上传 1.自定义上传 文件上传时的表单设计要符合文件提交的方式: 1.提交方式:post 2.表单中有文件上传的表单项:<input type="file" ...

  2. 文件上传使用FileUpload组件进行代码实现

    使用FileUpload组件进行代码实现 实现步骤 1. 获取解析器工厂: DiskFileItemFactory 2. 获取解析器对象: ServletFileUpload 3. 解析request ...

  3. 实现文件上传功能(FileUpload组件)

    文件上传: 项目中经常用到文件上传. 自己实现文件上传,使用文件上传组件fileupload组件 1.指定表单类型为文件上传, enctype=”multipart/form-data” 2.提交方式 ...

  4. 使用 fileupload 组件完成文件的上传应用

    1. 使用 fileupload 组件完成文件的上传应用 commons-dbutils-1.3.jarcommons-fileupload-1.2.1.jar 1). 需求: > 在 uplo ...

  5. JSP文件上传--FileUpload组件

    如果使用上传操作,并且没有使用框架之类,最好使用Smartupload,因为FileUpdate太难使用. 下载组件: fileupload包:http://commons.apache.org/pr ...

  6. 使用fileupload组件

    1. 进行文件上传时, 表单需要做的准备: 1). 请求方式为 POST: <form action="uploadServlet" method="post&qu ...

  7. 模拟文件上传(三):使用apache fileupload组件进行文件批量上传

    其中涉及到的jar包 jsp显示层: <%@ page language="java" import="java.util.*" pageEncoding ...

  8. 模拟文件上传(二):使用apache fileupload组件进行文件上传

    其中涉及到的jar包: jsp显示层: <%@ page language="java" import="java.util.*" pageEncodin ...

  9. FileUpload组件

    package com.itheima.servlet; import java.io.File; import java.io.FileOutputStream; import java.io.IO ...

随机推荐

  1. stm32之RCC

    stm32时钟系统的意义: 1.电源的开关作用,达到低功耗效果: 2.调节时钟的速度: 对于每个外设,都要设置设置,stm32的时钟系统为了更低功耗: STM32时钟系统框图分析: 时钟源: 时钟是S ...

  2. python求微分方程组的数值解曲线01

    本人最近在写一篇关于神经网络同步的文章,其一部分模型为: x_i^{\Delta}(t)= -a_i*x_i(t)+ b_i* f(x_i(t))+ \sum\limits_{j \in\{i-1, ...

  3. Linux 下github的使用

    *初始化git仓库,使用git init命令 *添加文件到git仓库分两步: 1.使用git add filename  :可分多次使用,添加多个文件到暂存区 2.使用git commit -m  “ ...

  4. Windows的公共控件窗口类列表

    The following window class names are provided by the common control library: ANIMATE_CLASS Creates a ...

  5. vc++窗口的创建过程(MFC消息机制的经典文章)

    一.什么是窗口类  在Windows中运行的程序,大多数都有一个或几个可以看得见的窗口,而在这些窗口被创建起来之前,操作系统怎么知道该怎样创建该窗口,以及用户操作该窗口的各种消息交给谁处理呢?所以VC ...

  6. android JB2连拍降速原理介绍

    1.HAL层 (1)alps\mediatek\platform\mt6589\hardware\camera\core\camshot\MultiShot\MultiShot.cpp sleep实现 ...

  7. source insight 中文注释为乱码解决

    1. source insight 中文注释为乱码解决 http://blog.csdn.net/bingfeng1210/article/details/7527059 2. Source Insi ...

  8. SQL Server 基础 03 查询数据基础

    查询数据 简单的查询 create table stu_info ( sno int not null ,sname ) not null ,sex ) not null ,birth ) not n ...

  9. saltstack:使用教程之二高级模块用法Grains、Pillar

    1.grains用法: 在客户端服务启动的时候收集客户的基础信息,在配置发生变化后也可以通过master重新同步 显示一个客户端的所有项目: [root@node5 ~]# salt "no ...

  10. java多线程中synchronized关键字的用法

    转自:http://www.cdtarena.com/javapx/201308/9596.html 由于同一进程内的多个线程共享内存空间,在Java中,就是共享实例,当多个线程试图同时修改某个实例的 ...