Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File upload JSF2:UploadedFile在使用Tomahawk的ManagedBean中为null_File Upload_Jsf 2_Tomahawk - Fatal编程技术网

File upload JSF2:UploadedFile在使用Tomahawk的ManagedBean中为null

File upload JSF2:UploadedFile在使用Tomahawk的ManagedBean中为null,file-upload,jsf-2,tomahawk,File Upload,Jsf 2,Tomahawk,我按照BalusC的逐步教程做了: 但是当我点击commandButton时,我发现UploadedFile是空的 web.xml: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com

我按照BalusC的逐步教程做了:

但是当我点击
commandButton
时,我发现
UploadedFile
是空的

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<display-name>web</display-name>
<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>

<filter>
    <filter-name>MyFacesExtensionsFilter</filter-name>
    <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>MyFacesExtensionsFilter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
.....some <context-param> generated automatically
</web-app>
此处的
图像
为空。那么这个代码有什么问题

我使用tomcat下的.war文件运行此项目,当我单击
命令按钮时会显示错误消息,下面是错误消息:

javax.faces.el.EvaluationException: javax.el.ELException: /admin_doctorregister.xhtml at line 124 and column 115 action="#{DoctorRegisterBean.registerDoctor}": java.lang.NullPointerException
at javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:96)
at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:100)
at javax.faces.component.UICommand.broadcast(UICommand.java:120)
at javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:937)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:271)
at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1249)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:675)
at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:34)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:357)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.el.ELException: /admin_doctorregister.xhtml at line 124 and column 115 action="#{DoctorRegisterBean.registerDoctor}": java.lang.NullPointerException
at org.apache.myfaces.view.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:95)
at javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:88)
... 29 more
Caused by: java.lang.NullPointerException
at edu.upenn.cis.rtg.ohc.web.DoctorRegisterBean.registerDoctor(DoctorRegisterBean.java:134)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.el.parser.AstValue.invoke(AstValue.java:278)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
at org.apache.myfaces.view.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:83)
... 30 more

这是问题所在吗

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


这是问题所在吗

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


类路径上是否有文件上传组件所需的所有JAR?控制台中是否有任何警告消息?@kolossus是的,我已将所有JAR放入/lib目录。我使用tomcat下的.war文件运行这个项目,所以控制台中没有消息,但是当我单击
commandButton
时,我可以在浏览器中获得
nullpointerexception
。您的类路径上有文件上传组件所需的所有JAR吗?控制台中是否有任何警告消息?@kolossus是的,我已将所有JAR放入/lib目录。我使用tomcat下的.war文件运行这个项目,所以控制台中没有消息,但是当我单击
commandButton
时,我可以在浏览器中获得
nullpointerexception
。难以置信,我很难找出我错在哪里。非常感谢你。顺便说一句,这似乎对ajax不起作用,为了让它起作用,我必须对ajax部分进行评论。你知道为什么吗?试试HTML4,你不能用ajax上传文件。改用Flash、XHR2或iframe hack。PrimeFaces/RichFaces有相应的组件。JSF2.2还将附带一个
。难以置信,我很难找出我错在哪里。非常感谢你。顺便说一句,这似乎对ajax不起作用,为了让它起作用,我必须对ajax部分进行评论。你知道为什么吗?试试HTML4,你不能用ajax上传文件。改用Flash、XHR2或iframe hack。PrimeFaces/RichFaces有相应的组件。JSF2.2还将附带一个,即
<h:form id="register_doctor_form" encrypt="multipart/form-data">
<h:form id="register_doctor_form" enctype="multipart/form-data">