[jboss-user] [JBoss Seam] - Binding not responsive using s:fileUpload

jerryeads52 do-not-reply at jboss.com
Tue Aug 28 14:15:43 EDT 2007


I am trying to get <s:fileUpload to work and yet my backing bean is never being called, is there something wrong with my bindings or configuration?  I am using jboss-seam-1.2.1.GA and jboss-4.0.4.GA.  The log.info messages never get called but the component is rendering and acting correctly. There is no error associated with its usage in the server.log?

web.xml
<?xml version="1.0" encoding="UTF-8"?>
  | <web-app version="2.5"
  |     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_2_5.xsd">
  |     
  |     <!-- Ajax4jsf (must come first!) -->
  |     <filter>
  |         <display-name>Ajax4jsf Filter</display-name>
  |         <filter-name>ajax4jsf</filter-name>
  |         <filter-class>org.ajax4jsf.Filter</filter-class>
  |     </filter>
  |     
  |     <filter-mapping>
  |         <filter-name>ajax4jsf</filter-name>
  |         <url-pattern>*.seam</url-pattern>
  |     </filter-mapping>
  |     
  |     <context-param>
  |         <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
  |         <param-value>org.jboss.seam.ui.facelet.SeamFaceletViewHandler</param-value>
  |     </context-param>
  |     
  |    <!-- RichFaces -->
  |     <context-param> 
  |         <param-name>org.ajax4jsf.SKIN</param-name> 
  |         <param-value>blueSky</param-value> 
  |     </context-param> 
  |  
  |     <filter-mapping> 
  |         <filter-name>ajax4jsf</filter-name> 
  |         <servlet-name>Faces Servlet</servlet-name>
  |         <dispatcher>REQUEST</dispatcher>
  |         <dispatcher>FORWARD</dispatcher>
  |         <dispatcher>INCLUDE</dispatcher>
  |     </filter-mapping>
  | 
  |     <!-- Seam -->
  |     
  |     <listener>
  |         <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
  |     </listener>
  |     
  |     <servlet>
  |         <servlet-name>Seam Resource Servlet</servlet-name>
  |         <servlet-class>org.jboss.seam.servlet.ResourceServlet</servlet-class>
  |     </servlet>
  |     
  |     <servlet-mapping>
  |         <servlet-name>Seam Resource Servlet</servlet-name>
  |         <url-pattern>/seam/resource/*</url-pattern>
  |     </servlet-mapping>
  |     
  |     <filter>
  |         <filter-name>Seam Filter</filter-name>
  |         <filter-class>org.jboss.seam.web.SeamFilter</filter-class>
  |     </filter>
  | 
  |     <filter-mapping>
  |         <filter-name>Seam Filter</filter-name>
  |         <url-pattern>/*</url-pattern>
  |     </filter-mapping>
  | 
  |     <filter>
  | 	  <filter-name>Seam Multipart Filter</filter-name> 
  |     	  <filter-class>org.jboss.seam.web.MultipartFilter</filter-class> 
  |     </filter>
  | 
  |     <filter-mapping> 
  |     	<filter-name>Seam Multipart Filter</filter-name> 
  | 	<url-pattern>/*</url-pattern> 
  |     </filter-mapping> 
  |     
  |     <!-- JSF -->
  |     
  |     <context-param>
  |         <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
  |         <param-value>client</param-value>
  |     </context-param>
  |     
  |     <context-param>
  |         <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
  |         <param-value>.xhtml</param-value>
  |     </context-param>
  |     
  |     <context-param>
  |         <param-name>facelets.DEVELOPMENT</param-name>
  |         <param-value>true</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>*.seam</url-pattern>
  |     </servlet-mapping>
  |     
  |     <!-- MyFaces -->
  |     <listener>
  |         <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
  |     </listener>
  |  
  | 
  |     <!-- JSF RI -->
  |     <!--
  |     <listener>
  |         <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
  |     </listener> 
  |     -->
  |     
  |     <session-config>
  |         <session-timeout>30</session-timeout> 
  |     </session-config>    
  |     
  | </web-app>
  | 
  | 
uploadPDF.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  |                       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">                    
  | <html xmlns="http://www.w3.org/1999/xhtml"
  |       xmlns:ui="http://java.sun.com/jsf/facelets"
  |       xmlns:s="http://jboss.com/products/seam/taglib"
  |       xmlns:f="http://java.sun.com/jsf/core"
  |       xmlns:h="http://java.sun.com/jsf/html"
  |       xmlns:c="http://java.sun.com/jstl/core"
  |       xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"      
  |       xmlns:fn="http://java.sun.com/jsp/jstl/functions">
  | <head>
  | 
  | </head>
  | 	<body>
  |   		<ui:composition template="/WEB-INF/OBBRTemplate.xhtml">
  |     		<ui:define name="body">   
  |         		<f:view>
  |           			<script type="text/javascript">   
  |                     </script>        
  | 	       			<h:form id="uploadPDF" 
  |           					enctype="multipart/form-data">       
  |             			<div>
  |             				<a4j:region>
  |             				<a4j:outputPanel ajaxRendered="true">
  |             					<h:messages showSummary="false" 
  |             								showDetail="true" 
  |             								style="margin: 0; padding: 0; color:red"/>              
  |             				</a4j:outputPanel>
  |             				</a4j:region>
  |                 			<div style="border-bottom: 2px solid black; margin-top: .5em; margin-bottom: 1em;">
  |                   				<h3 style="padding-bottom: 0; margin-bottom: 0;">
  |                     				<h:outputText id="paperStudyDetails" 
  |                     							  value="#{msgs.uploadPDFTitle}" 
  |                     							  rendered="true"/>
  |                   				</h3>
  |                 			</div>
  |                 			<h:messages  showSummary="false" showDetail="true" style="margin: 0; padding: 0; color:red"/>                                                        
  |                 			<!-- Paper details -->
  |                 			<table cellpadding="0" 
  |                 				   cellspacing="0" 
  |                 				   border="0" 
  |                 				   width="570">
  |                   				<tr>
  |                     				<td colspan="4" 
  |                     					style="padding-bottom: 1em;">
  |                       					<!-- Paper title & id -->
  |                       					<table cellpadding="0" 
  |                       						   cellspacing="0" 
  |                       						   border="0">
  |                           					<tr>
  |                             					<td nowrap="nowrap" 
  |                             						style="padding-top: .5em; vertical-align: top;">
  |                             						<label for="paperTitle">
  |                             							<h:outputText value="#{msgs.paperTitle}"/>
  |                             						</label>
  |                             					</td>
  |                             					<td style="padding-left: 1em; padding-top: .5em;">
  |                               						<h:outputText id="publishedPaperTitle" 
  |                                        							  value="#{paper.title}"/>
  |                             					</td>
  |                           					</tr>       
  |                       					</table>
  |                     				</td>
  |                   				</tr>      
  |                   				<tr>
  |                     				<td colspan="4">
  |                           				<div style="margin-top: .5em;">                                     
  |                             				<s:fileUpload id="upload"
  |                             			  				  style="width: 350px;" 
  |                                 				  		  accept="application/pdf"
  |                                           				  data="#{editunpublishedpaper.uploadedFile}" 
  |                                           				  fileName="#{editunpublishedpaper.fileName}"/>
  |                           				</div>
  |                           			</td>
  |                          		</tr>
  |                          		<tr>
  |                     				<!-- back buttons -->                  
  |                     				<td style="padding-top: 1em; text-align: center;">
  |                        					<s:button view="/addEditUnpublishedPaper.xhtml" 
  |                       		    				  onclick="submit()" 
  |                                 				  id="backBtn" 
  |                                 				  value="#{msgs.backButton}"> 
  |                      					</s:button>
  |                     				</td>
  |                     			</tr>                   
  |                         	</table>
  |               			</div>
  |           			</h:form>
  |         		</f:view>
  |     		</ui:define>
  |   		</ui:composition>
  | 	</body>
  | </html>
  | 
  | 
  | 
  | 
  | 

EditUnpublishedPaperAction.java relevant portion

  | @Stateful
  | @Name("editunpublishedpaper")
  | public class EditUnpublishedPaperAction
  |     implements EditUnpublishedPaper
  | {
  |     @Out(scope=ScopeType.CONVERSATION,required=false)
  |     String fileName;        
  | 
  |     @Out(scope=ScopeType.CONVERSATION,required=false)
  |     byte[] uploadedFile;
  | 
  |     //
  |     //  PDF file uploaded
  |     @Begin(join=true)
  |     public void setUploadedFile(byte[] file)
  |     {
  | log.info("$$$$$$$$$$$$$$$$$$setUploadedFile I'm here!!");
  |     	this.uploadedFile=file;
  |     }
  |     @Begin(join=true)
  |     public byte[] getUploadedFile()
  |     {
  |       return this.uploadedFile;
  |     }    
  |   
  |     //
  |     //  Client name of PDF file uploaded
  |     @Begin(join=true)
  |     public void setFileName(String name)
  |     {
  | log.info("$$$$$$$$$$$$$$$$$$setFileName I'm here!!");
  | 		if (name != null && name.length() > 0) name = name.substring(name.lastIndexOf("\\")+1);
  | 		if (name != null && name.length() > 0) this.fileName = name;
  |     }
  |     
  |     @Begin(join=true)
  |     public String getFileName()
  |     {
  |       return this.fileName;
  |     }  
  |         
  | 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4078900#4078900

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4078900



More information about the jboss-user mailing list