[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