I tried it and didn't seem to make a difference; it doesn't invoke the
action. It's really weird; without the "enctype" attribute, it at least
invokes the action; I suspect on postback, JSF doesn't restore the view
correctly because if I change my "javax.faces.STATE_SAVING_METHOD" from
client to "server", I see
~com.sun.faces.saveStateFieldMarker~
at the bottom of the page.
-----Original Message-----
From: Ryan Wynn [mailto:[EMAIL PROTECTED]
Sent: Friday, April 11, 2008 3:12 PM
To: [email protected]
Subject: Re: [Shale Clay]
On Fri, Apr 11, 2008 at 2:50 PM, Zheng, Xiahong <[EMAIL PROTECTED]>
wrote:
> I thought about this, but tomahawk doesn't seem to have a form
> component.
>
>
>
> -----Original Message-----
> From: Gary VanMatre [mailto:[EMAIL PROTECTED]
> Sent: Friday, April 11, 2008 1:35 PM
> To: [email protected]
> Subject: RE: [Shale Clay]
>
> From: "Zheng, Xiahong" <[EMAIL PROTECTED]>
> > Thanks again. I have another question. How does shale work with
> > fileload? I am trying to use t:fileUpload from tomahawk. I copied
the
> > component definition into my clay-config.xml
> >
> > <component jsfid="t:inputFileUpload"
> > componentType="org.apache.myfaces.HtmlInputFileUpload"
> > extends="baseOutput>
> > <attributes>
> > <set name="id" bindingType="VB" />
> > .....
> > </attributes>
> > </component>
> >
> > And I added the following in my html form
> >
> > <form enctype="multipart/form-data">
> >
> > <input jsfid="t:inputFileUpload" value="#{mybean.symbolsFile}"
> > storage="file" />
> >
> > <input type="submit" action="#{mybean.getQuotes}" value="Get
Quotes"/>
> >
> > </form>
> >
> > When I hit the submit button, action method is never invoked.
> > Interestingly, if I remove the "enctype" attribute, action method
is
> > indeed invoked but the input is null which is expected. I have the
> > extension filter configured.
> >
> > Any idea?
> >
Can you try this?
<component jsfid="multipart-form" extends="form">
<attributes>
<set name="enctype" value="multipart/form-data"/>
</attributes>
</component>
+
<form jsfid="multipart-form">....</form>
That seems to be working ok for me.
Ryan
>
> This is just a guess but you might try using the tomahawk form
component
> too. There might be some component coupling that is assumed in the
> library.
>
> Gary
>
> >
> >
> > -----Original Message-----
> > From: Richard Eggert [mailto:[EMAIL PROTECTED]
> > Sent: Friday, April 11, 2008 7:33 AM
> > To: [email protected]
> > Subject: RE: [Shale Clay]
> >
> > Yes. Basically, you would have to define a component that inherits
> from
> > h:dataTable, and give it child elements that inherit from h:column.
> > Each of those child elements would then contain children that make
up
> > the content of your columns.
> >
> > Rich Eggert
> > Member of Technical Staff
> > Proteus Technologies, LLC
> > http://www.proteus-technologies.com
> >
> >
> >
> > -----Original Message-----
> > From: Zheng, Xiahong [mailto:[EMAIL PROTECTED]
> > Sent: Fri 4/11/2008 12:08 AM
> > To: [email protected]
> > Subject: RE: [Shale Clay]
> >
> > Thanks a lot Rich. I was able to use your first example without
having
> > any white space issue even if I reformatted it a bit. If I want to
use
> > the second solution, how would I define the behavior of the
dataTable?
> > Would it still need to inherit dataTable for the looping capability
> > since the number of rows are dynamic?
> >
> > -----Original Message-----
> > From: Richard Eggert [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, April 10, 2008 5:12 PM
> > To: [email protected]
> > Subject: RE: [Shale Clay]
> >
> > My experience with dataTables and clay has been that they don't get
> > along very well, at least in the case of HTML templates (XML
templates
> > are another story). This is mainly because h:dataTable has a
> > drastically different structure from HTML tables. h:dataTable
expects
> > to have h:columns as its immediate child (with optional tags for
> header
> > and footer rows nested within each column), whereas HTML TABLE tags
> > expect to have TR (row) tags as its children (or TR tags nested
within
> a
> > TBODY), with the column (TD) tags nested within each row.
> Essentially,
> > from the point of view of an h:dataTable, a column contains rows,
but
> in
> > an HTML TABLE, a row contains columns, which makes mapping between
the
> > two extremely difficult. It can be done, but it involves making a
lot
> > of dummy jsfid="void" tags and using SPAN tags to cause elements
that
> > wouldn't be visible in the mockup to be rendered at runtime.
> >
> > e.g.,
> >
> > <table jsfid="h:dataTable" var="foo" value="#{bar.list}"
> > ><tr jsfid="void" allowBody="false">
> > <th>Mock Heading</th>
> > </tr><tr jsfid="void"
> > ><td jsfid="h:column">
> > #{foo.name}
> > <span jsfid="h:outputText" value="Real Heading"
> > facetName="header"></span>
> > </td>
> > </tr>
> > </table>
> >
> > Note that the lack of whitespace around the TR elements is
intentional
> > to avoid (blank) text elements winding up as children of the
> h:dataTable
> > component (which is very nasty and breaks everything!).
> >
> > As you can see, writing an HTML template for a dataTable gets
> extremely
> > ugly very quickly. For this reason, I don't recommend doing it
unless
> > you REALLY want to be able to view the mockup in a browser before
> > deploying it. You're better off defining the template in XML and
just
> > referring to it in the parent template, e.g.,
> >
> > <table jsfid="my:customtable" allowBody="false">
> > Table goes here.
> > </table>
> >
> >
> > What we really need is a new JSF component that provides the same
> > capabilities as dataTable but is structured more like HTML TABLE
tags.
> >
> >
> >
> > Rich Eggert
> > Member of Technical Staff
> > Proteus Technologies, LLC
> > http://www.proteus-technologies.com
> >
> >
> >
> > -----Original Message-----
> > From: Zheng, Xiahong [mailto:[EMAIL PROTECTED]
> > Sent: Thu 4/10/2008 2:22 PM
> > To: [email protected]
> > Subject: FW: [Shale Clay]
> >
> > I couldn't seem to understand by looking at the clay usecase
example.
> > Can somebody post a simple example of using clay to generate a
dynamic
> > data table, the equivalent of the JSF h:dataTable tag?
> >
> >
> >
> >
> >
> >
>
>