我使用Primefaces4.0和JSF2.0,我知道一些Primefaces的基础知识。
对我来说,p:fileUpload
无法正常工作,之前有效。不知道发生了什么
当我从文件选择器中选择任何文件时,没有文件填充在p:fileUpload的文件盘中。
这是我的代码:
<p:panel style="font-size:15px;" header="Upload">
<p:fileUpload fileUploadListener="#{addAgentxls.handleFileUpload}" mode="advanced" dragDropSupport="true"
update="messages status" sizeLimit="100000" style="font-size:12px;" />
<p:growl id="messages" showDetail="true"/>
<p:outputLabel id="status" style="font-size:13px;" value="#{addAgentxls.status }"/>
</p:panel>
类文件:
@ManagedBean(name = "addAgentxls", eager = true)
@SessionScoped
public class AddAgentUsingXLS {
public AddAgentUsingXLS(){
}
public void handleFileUpload(FileUploadEvent event) {
FacesMessage msg = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded.");
FacesContext.getCurrentInstance().addMessage(null, msg);
}
}
的web.xml:
<!-- File Uploading Constraints -->
<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>
我也看到This对我没有任何作用 Google Chrome浏览器出现错误
Uncaught TypeError: Object [object Object] has no method 'fileupload'
fileupload.js.xhtml?ln=primefaces&v=4.0:1
它有价值吗?
答案 0 :(得分:1)
解决了..!我使用的新版jQuery.js
与Primefaces
答案 1 :(得分:0)
请考虑以下堆栈溢出链接的建议。
In JavaScript can I make a "click" event fire programmatically for a file input element?
同样的问题。 jQuery(“。primeFacesHiddenAwayButton type = ['file']”)。click()在IE和firefox上工作正常(由于Selenium驱动程序限制,我的firefox不是最新的)。在任何情况下,在Chrome中JS按钮根本不起作用。这显然是浏览器内置的安全功能。您可以在提供的链接上尝试该建议。