[jboss-user] [JBoss jBPM] - Using fileUpload (either <gd:inputFile.. or <rich:fileUpload
Neal
do-not-reply at jboss.com
Fri Oct 3 06:47:22 EDT 2008
I am trying to implement file upload functionality (like a document variable) from within a task form. I tried using gravel or richFaces and both are not working
1) Gravel
1.a) The form has the following tags
<ui:component>
| <jbpm:dataform>
|
| <f:facet name="header">
| <h:outputText value="#{taskName}"/>
| </f:facet>
|
| <!-- TASKFORM ROWS -->
| <jbpm:datacell>
| <f:facet name="header">
| <h:outputText value="Test1"/>
| </f:facet>
| <h:inputText id="useraddress" value="#{var['Test1']}" required="true">
| </h:inputText>
| <gd:inputFile target="#{var['teststream']}" maxSize="104857600"/>
| </jbpm:datacell>
|
| <jbpm:datacell>
| <f:facet name="header">
| <h:outputText value="Actions"/>
| </f:facet>
| <!-- TASKFORM BUTTONS -->
| <tf:saveButton value="Save"/>
| <tf:cancelButton value="Cancel"/>
| <tf:transitionButton transition="ToApproval" value="ToApproval"/>
| </jbpm:datacell>
|
| </jbpm:dataform>
|
| <h:messages style="color:darkred"/>
| </ui:component>
1.b) I dont get any error while clicking on the save button in the form but I also don't see the variable "teststream" when I check for the process instance variables. I believe that the form should have enctype="multipart/form-data" to be able to use the gravel fileUpload but I am not sure how I should do that since there is no documentation for jbpm:dataform and am not sure if it takes the form encoding as a parameter for the tag.
2) RichFaces
---------------
2.a) the form includes the following tag
<ui:component>
| <jbpm:dataform>
|
| <f:facet name="header">
| <h:outputText value="#{taskName}"/>
| </f:facet>
|
| <!-- TASKFORM ROWS -->
| <jbpm:datacell>
| <f:facet name="header">
| <h:outputText value="Test1"/>
| </f:facet>
| <h:inputText id="useraddress" value="#{var['Test1']}" required="true">
| </h:inputText>
| <rich:fileUpload uploadData="#{myfiles}"/>
| </jbpm:datacell>
|
| <jbpm:datacell>
| <f:facet name="header">
| <h:outputText value="Actions"/>
| </f:facet>
| <!-- TASKFORM BUTTONS -->
| <tf:saveButton value="Save"/>
| <tf:cancelButton value="Cancel"/>
| <tf:transitionButton transition="ToApproval" value="ToApproval"/>
| </jbpm:datacell>
|
| </jbpm:dataform>
|
| <h:messages style="color:darkred"/>
| </ui:component>
2.b) When clicking on the upload button I get a "Transfer error" with the following exception on the server console
SEVERE: Error Rendering View[/sa/task.xhtml]
| java.lang.IllegalArgumentException
| at sun.reflect.GeneratedMethodAccessor92.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
| sorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at javax.faces.component.UIComponentBase$AttributesMap.put(UIComponentBa
| se.java:1590)
| at javax.faces.component.UIComponentBase$AttributesMap.put(UIComponentBa
| se.java:1499)
| at org.jboss.gravel.action.handler.AttributeHandler.apply(AttributeHandl
| er.java:106)
| at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHa
| :
| :
| 15:55:19,925 ERROR [LazyInitializationException] could not initialize proxy - no
| Session
| org.hibernate.LazyInitializationException: could not initialize proxy - no Sessi
| on
| at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyIn
| itializer.java:57)
| at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(Abstrac
| tLazyInitializer.java:111)
|
| :
| :
| :
| 15:55:20,050 WARN [lifecycle] executePhase(RENDER_RESPONSE 6,com.sun.faces.con
| ext.FacesContextImpl at ccdcea) threw exception
| java.lang.NullPointerException
| at com.sun.facelets.util.DevTools.writeVariables(DevTools.java:168)
| at com.sun.facelets.util.DevTools.writeVariables(DevTools.java:145)
| at com.sun.facelets.util.DevTools.debugHtml(DevTools.java:109)
| :
| :
|
2.c) My web.xml has the following
<context-param>
|
| <param-name>org.richfaces.SKIN</param-name>
|
| <param-value>blueSky</param-value>
|
| </context-param>
|
| <filter>
|
| <display-name>RichFaces Filter</display-name>
|
| <filter-name>richfaces</filter-name>
|
| <filter-class>org.ajax4jsf.Filter</filter-class>
|
| </filter>
|
| <filter-mapping>
|
| <filter-name>richfaces</filter-name>
|
| <servlet-name>Faces Servlet</servlet-name>
|
| <dispatcher>REQUEST</dispatcher>
|
| <dispatcher>FORWARD</dispatcher>
|
| <dispatcher>INCLUDE</dispatcher>
|
| </filter-mapping>
|
| <init-param>
| <param-name>createTempFiles</param-name>
| <param-value>true</param-value>
| </init-param>
2.d) And the faces-config.xml has the following
<application>
|
| <locale-config>
| <default-locale>en</default-locale>
| </locale-config>
|
| <!--
| Use Facelets as the primary view handler. Since we have bookmarkable URLs,
| add Gravel's query preserving view handler to the list.
| -->
| <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
| <view-handler>org.jboss.gravel.QueryPreservingViewHandler</view-handler>
|
| <!--
| Use Gravel's navigation model.
| -->
| <navigation-handler>org.jboss.gravel.navigation.GravelNavigationHandler</navigation-handler>
| </application>
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4180250#4180250
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4180250
More information about the jboss-user
mailing list