I'm facing a problem where the object hasn't yet been committed to the db and there for the object has no id. This is probably the root of this exception.
I'm trying to build an ajax wizard where each step has it's own ajax form and the db commit will be handled at the end. I was hoping to just pass in the value form form A into the context of form B, but that may not be possible without an id. I suppose I could use @SessionState or in the past I've copied the form data from form a to form b and sent the original form data out of view, but I've been hoping to come up with a better solution than those two since processing form A data requires a lot of system resources. On Fri, Oct 24, 2014 at 11:35 AM, Chris Poulsen <mailingl...@nesluop.dk> wrote: > Pass the object key as a simple type (string/long) and setup the object in > the PREPARE_FOR_SUBMIT handler. > > > > On Fri, Oct 24, 2014 at 5:22 PM, George Christman <gchrist...@cardaddy.com > > > wrote: > > > Unfortunately the valueencoder is not an option for the form component. > > > > On Fri, Oct 24, 2014 at 11:09 AM, Name Surname < > wintertime0...@outlook.com > > > > > wrote: > > > > > Hey George. I had a very similar situation. What you can do here is to > > > make a new Encoder and put it into appropriate field. Take a look at my > > > example. > > > > > > private class DateEncoder implements ValueEncoder<Date> { > > > > > > @Override > > > public String toClient(Date date) { > > > long timeMillis = date.getTime(); > > > return Long.toString(timeMillis); > > > } > > > > > > @Override > > > public Date toValue(String timeMillisAsString) { > > > long timeMillis = Long.parseLong(timeMillisAsString); > > > Date date = new Date(timeMillis); > > > return date; > > > } > > > > > > } > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > and I put into a grid( in your case it will be > grid ) > > > encoder value, something like encoder="dateEncoder". This should work > > just > > > fine for your case. > > > > > > > > > > Date: Fri, 24 Oct 2014 11:02:02 -0400 > > > > Subject: Could not find a coercion from type java.lang.String to type > > > org.tapdemo.demo.entity.TimeSheet > > > > From: gchrist...@cardaddy.com > > > > To: users@tapestry.apache.org > > > > > > > > Hi Guys, I have a form contained within a zone where I'm passing an > > > object > > > > into the context value. When I submit the form I get the following > > > > exception. > > > > > > > > *parameter #1: org.apache.tapestry5.ioc.util.UnknownValueException: > > Could > > > > not find a coercion from type java.lang.String to type > > > > org.tapdemo.demo.entity.TimeSheet.* > > > > > > > > .tml > > > > > > > > <t:zone t:id="formZone" id="formZone"> > > > > <t:form t:id="form" zone="formZone" context="ts"> > > > > > > > > <t:submit t:event="save" context="action.notification"/> > > > > > > > > java class > > > > > > > > public enum Action { > > > > WARNING, NOTIFICATION, CERTIFICATION > > > > } > > > > > > > > @Property > > > > private TimeSheetEntity ts; > > > > > > > > public void onPrepareForSubmitFromForm(TimeSheetEntity ts) { > > > > this.ts = ts; > > > > } > > > > > > > > public void onSave(Action action) { > > > > this.action = action; > > > > } > > > > > > > > Aren't you able to pass an object into context? Any ideas what might > be > > > > happening here? > > > > > > > > -- > > > > George Christman > > > > www.CarDaddy.com > > > > P.O. Box 735 > > > > Johnstown, New York > > > > > > > > > > > > > > -- > > George Christman > > www.CarDaddy.com > > P.O. Box 735 > > Johnstown, New York > > > -- George Christman www.CarDaddy.com P.O. Box 735 Johnstown, New York