[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