Zdravím,

my jsme použili tomahawk:


 <h:form enctype="multipart/form-data" id="novinkaForm">
 <t:inputFileUpload  id="img" accept="image/jpg;image/png;image/bmp"
value="#{novinkaAction.image}">
</h:form>

@Name("novinkaAction")
public class NovinkaAction {
    private UploadedFile image;
}


Pokud chcete použít <s:fileUpload /> podívejte se do examples v JBoss a
konkrétně na seamspace. Ten to používá.
Je otázka zda je dobré přistupovat takto přímo k entity. Možná bych si
vytvořil akci, která by měla property typu Photo. A tu bych si v
konstruktoru vytvořil. 
Tu akci bych měl @Scope(ScopeType.EVENT).

Snad Vám to pomůže.

Petr



Martin Bednář píše v St 23. 05. 2007 v 14:56 +0200:

> Mohl by mi nekdo prosim poslat funkcni sampl jak udelat upload souboru 
> pomoci Seam-u ?
> Mam JBoss Seam 1.2.1 (s nim dodavane myfaces) , tomcat 5.5.23 a nejsem 
> schopen to zprovoznit.
> 
> Pokud vyhodim tag:
> <s:fileUpload data="#{photo.data}"  contentType="#{photo.contentType}"  
> accept="images/png,images/jpg,images/gif"/>
> tak ten form  funguje.
> 
> Beanu mam zhruba takto:
> @Entity
> @Name("photo")
> @Table(name = "photos")
> public class Photo implements Serializable {
>     private static final long serialVersionUID = 169145795008850265L;
> 
>     private Long id;
> 
>     private String title;
> 
>     private String contentType;
>    
>     private byte[] data;
> ....
> 
> Pada mi to na tuhle vyjimku.
> javax.faces.el.PropertyNotFoundException: Base is null: photo
>     at 
> org.apache.myfaces.el.ValueBindingImpl.resolveToBaseAndProperty(ValueBindingImpl.java:460)
>     at 
> org.apache.myfaces.el.ValueBindingImpl.getType(ValueBindingImpl.java:172)
>     at org.jboss.seam.ui.UIFileUpload.decode(UIFileUpload.java:54)
>     at 
> javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:606)
>     at 
> javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:602)
>     at javax.faces.component.UIForm.processDecodes(UIForm.java:53)
>     at 
> javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:602)
>     at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:135)
>     at 
> org.ajax4jsf.framework.ajax.AjaxViewRoot.access$001(AjaxViewRoot.java:53)
>     at 
> org.ajax4jsf.framework.ajax.AjaxViewRoot$1.invokeRoot(AjaxViewRoot.java:254)
>     at 
> org.ajax4jsf.framework.ajax.JsfOneOneInvoker.invokeOnRegionOrRoot(JsfOneOneInvoker.java:54)
>     at 
> org.ajax4jsf.framework.ajax.AjaxContext.invokeOnRegionOrRoot(AjaxContext.java:176)
>     at 
> org.ajax4jsf.framework.ajax.AjaxViewRoot.processDecodes(AjaxViewRoot.java:267)
>     at 
> org.apache.myfaces.lifecycle.LifecycleImpl.applyRequestValues(LifecycleImpl.java:219)
>     at 
> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:71)
>     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:137)
>     at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>     at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>     at 
> org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:63)
>     at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
>     at 
> org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
>     at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
>     at 
> org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
>     at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:74)
>     at 
> org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
>     at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)
>     at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>     at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>     at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>     at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>     at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>     at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>     at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>     at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>     at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>     at 
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
>     at 
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>     at 
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>     at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>     at java.lang.Thread.run(Unknown Source)

Petr Ferschmann 


SoftEU s.r.o.
-----------------------------------
Bolevecká 6
301 00 Plzen
Czech Republic
-----------------------------------
Phone: +420 373 731 284
       +420 373 729 300
Fax:   +420 373 729 301
Cell:  +420 775 638 008
E-mail: [EMAIL PROTECTED] 

Odpovedet emailem