[jboss-user] [JBoss Seam] - Re: s:fileUpload throw

cchee do-not-reply at jboss.com
Fri May 11 19:30:06 EDT 2007


edit.xhtml:
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  |                              "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  | 
  | <ui:composition xmlns="http://www.w3.org/1999/xhtml"
  |                 xmlns:s="http://jboss.com/products/seam/taglib"
  |                 xmlns:ui="http://java.sun.com/jsf/facelets"
  |                 xmlns:f="http://java.sun.com/jsf/core"
  |                 xmlns:h="http://java.sun.com/jsf/html"
  |                 xmlns:a="https://ajax4jsf.dev.java.net/ajax"
  |                 xmlns:rich="http://richfaces.ajax4jsf.org/rich"
  |                 template="layout/template.xhtml">
  |                        
  | <ui:define name="body">
  | 
  | <div id="taskmenu">
  |     <table cellpadding="0" cellspacing="0">
  |         <tr>
  |             <td><img alt="Go Back" src="img/mini-arrow-blue.gif"/><a href="javascript:history.go(-1)" onMouseOver="self.status=document.referrer;return true">Go Back</a></td>
  |         </tr>
  |     </table>
  | </div>
  | 
  | <div id="content">
  |     <h:messages globalOnly="true" styleClass="message" id="globalMessages"/>
  | 
  |     <h:form id="assetType" styleClass="edit" enctype="multipart/form-data">
  |     
  |         <rich:panel>
  |             <f:facet name="header" rendered="#{assetTypeHome.instance.new}">New Asset Type</f:facet>
  |             <f:facet name="header" rendered="#{!assetTypeHome.instance.new}">Edit Asset Type</f:facet>
  | 
  |             <s:decorate id="nameDecoration" template="layout/edit.xhtml">
  |                 <ui:define name="label">Name</ui:define>
  |                 <h:inputText id="name" 
  |                        required="true"
  |                            size="64"
  |                       maxlength="64"
  |                           value="#{assetTypeHome.instance.name}">
  |                     <a:support event="onblur" reRender="nameDecoration"/>
  |                 </h:inputText>
  |             </s:decorate>
  | 
  |             <s:decorate id="assetRequestFormDecoration" template="layout/edit.xhtml">
  |                 <ui:define name="label">Asset Request Form</ui:define>
  |                 <s:fileUpload id="assetRequestForm"
  |                 	    	data="#{assetTypeHome.instance.assetRequestForm}"
  |                         required="true"
  |                      contentType="application/vnd.ms-excel"/>
  |             </s:decorate>
  | 
  |             <s:decorate id="assetReportFormDecoration" template="layout/edit.xhtml">
  |                 <ui:define name="label">Asset Report Form</ui:define>
  |                 <s:fileUpload id="assetReportForm"
  |                 			data="#{assetTypeHome.instance.assetReportForm}"
  |                         required="true"
  |                      contentType="application/vnd.ms-excel"/>
  |             </s:decorate>
  |         
  |             <div style="clear:both">
  |                 <span class="required">*</span> 
  |                 required fields
  |             </div>
  |             
  |         </rich:panel>
  |                 
  |         <div class="actionButtons">
  | 
  |             <h:commandButton id="save" 
  |                           value="Save" 
  |                          action="#{assetTypeHome.persist}"
  |                        disabled="#{!assetTypeHome.wired}"
  |                        rendered="#{!assetTypeHome.managed}"/>  
  |                           			  
  |             <h:commandButton id="update" 
  |                           value="Save" 
  |                          action="#{assetTypeHome.update}"
  |                        rendered="#{assetTypeHome.managed}"/>
  |                         			  
  |             <h:commandButton id="delete" 
  |                           value="Delete" 
  |                          action="#{assetTypeHome.remove}"
  |                        rendered="#{assetTypeHome.managed}"/>
  |                     
  |             <s:button id="done" 
  |                    value="Done"
  |              propagation="end"
  |                     view="/AssetType.xhtml"
  |                 rendered="#{assetTypeHome.managed}"/>
  |                 
  |             <s:button id="cancel" 
  |                    value="Cancel"
  |              propagation="end"
  |                     view="/#{empty assetTypeFrom ? 'AssetTypeList' : assetTypeFrom}.xhtml"
  |                 rendered="#{!assetTypeHome.managed}"/>
  | 
  |         </div>
  |     </h:form>
  | </div>
  | </ui:define>
  | </ui:composition>
  | 

I didn't create an action bean to do the file upload, thinking i can use "Home" bean:
import java.util.HashSet;
  | import java.util.Set;
  | import javax.persistence.Basic;
  | import javax.persistence.CascadeType;
  | import javax.persistence.Column;
  | import javax.persistence.Entity;
  | import javax.persistence.FetchType;
  | import javax.persistence.GeneratedValue;
  | import javax.persistence.Id;
  | import javax.persistence.Lob;
  | import javax.persistence.OneToMany;
  | import javax.persistence.Table;
  | import javax.persistence.UniqueConstraint;
  | 
  | import org.hibernate.annotations.Cache;
  | import org.hibernate.annotations.CacheConcurrencyStrategy;
  | 
  | import org.hibernate.validator.Length;
  | import org.hibernate.validator.NotNull;
  | import org.jboss.seam.annotations.Name;
  | import org.jboss.seam.annotations.security.Restrict;
  | 
  | /**
  |  * AssetType generated by hbm2java
  |  */
  | @Entity
  | @Restrict
  | @Name("assetType")
  | @Cache(usage=CacheConcurrencyStrategy.TRANSACTIONAL)
  | @Table(name = "asset_type", catalog = "fbis", uniqueConstraints = @UniqueConstraint(columnNames = "name"))
  | public class AssetType implements java.io.Serializable {
  | 
  | 	/**
  | 	 * 
  | 	 */
  | 	private static final long serialVersionUID = -1604122679008790458L;
  | 	private int id;
  | 	private String name;
  | 	private byte[] assetRequestForm;
  | 	private byte[] assetReportForm;
  | 	private Set<Asset> assets = new HashSet<Asset>(0);
  | 
  | 	public AssetType() {
  | 	}
  | 
  | 	public AssetType(int id, String name, byte[] assetRequestForm,
  | 			byte[] assetReportForm) {
  | 		this.id = id;
  | 		this.name = name;
  | 		this.assetRequestForm = assetRequestForm;
  | 		this.assetReportForm = assetReportForm;
  | 	}
  | 	public AssetType(int id, String name, byte[] assetRequestForm,
  | 			byte[] assetReportForm, Set<Asset> assets) {
  | 		this.id = id;
  | 		this.name = name;
  | 		this.assetRequestForm = assetRequestForm;
  | 		this.assetReportForm = assetReportForm;
  | 		this.assets = assets;
  | 	}
  | 
  | 	@Id
  | 	@GeneratedValue
  | 	@Column(name = "id", unique = true, nullable = false)
  | 	@NotNull
  | 	public int getId() {
  | 		return this.id;
  | 	}
  | 
  | 	public void setId(int id) {
  | 		this.id = id;
  | 	}
  | 
  | 	@Column(name = "name", unique = true, nullable = false, length = 64)
  | 	@NotNull
  | 	@Length(max = 64)
  | 	public String getName() {
  | 		return this.name;
  | 	}
  | 
  | 	public void setName(String name) {
  | 		this.name = name;
  | 	}
  | 
  | 	@Lob
  | 	@Basic(fetch = FetchType.LAZY)
  | 	@Column(name = "asset_request_form", nullable = false)
  | 	@NotNull
  | 	public byte[] getAssetRequestForm() {
  | 		return this.assetRequestForm;
  | 	}
  | 
  | 	public void setAssetRequestForm(byte[] assetRequestForm) {
  | 		this.assetRequestForm = assetRequestForm;
  | 	}
  | 
  | 	@Lob
  | 	@Basic(fetch = FetchType.LAZY)
  | 	@Column(name = "asset_report_form", nullable = false)
  | 	@NotNull
  | 	public byte[] getAssetReportForm() {
  | 		return this.assetReportForm;
  | 	}
  | 
  | 	public void setAssetReportForm(byte[] assetReportForm) {
  | 		this.assetReportForm = assetReportForm;
  | 	}
  | 	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "assetType")
  | 	public Set<Asset> getAssets() {
  | 		return this.assets;
  | 	}
  | 
  | 	public void setAssets(Set<Asset> assets) {
  | 		this.assets = assets;
  | 	}
  | 
  | }
  | 

Thanks in advance.

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

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



More information about the jboss-user mailing list