I'll preface this by saying that I've been following a "recipe" that's "just worked" for years, so I haven't had to make one work from scratch in ages.
However.... Your ValueEncoder will throw NPE's. Have a look at the HibernateEntityValueEncoder in the tapestry-hibernate module - it uses a null-safe implementation. JB On Wed, Sep 21, 2011 at 12:40 AM, csckid <testnowsh...@gmail.com> wrote: > Now I have add an encoder > <form t:type="form"> > <t:label for="members"/>: > <t:select t:id="members" value="membersName" model="MemberSelectModel" > encoder="wholeSaleMemberEncoder" /> > <t:submit value="save"/> > </form> > > > public class WholeSaleMemberEncoder implements > ValueEncoder<WholeSaleMember>, ValueEncoderFactory<WholeSaleMember> { > > @Inject > private WholeSaleMemberDao wholeSaleMemberDao; > @Inject > private DatabaseDao databaseDao; > > public String toClient(WholeSaleMember value) { > // return the given object's ID > return String.valueOf(value.getId()); > } > > public WholeSaleMember toValue(String id) { > > // find the color object of the given ID in the database > return (WholeSaleMember) databaseDao.load(Long.parseLong(id), > WholeSaleMember.class); > } > > public ValueEncoder<WholeSaleMember> create(Class<WholeSaleMember> > type) { > // TODO Auto-generated method stub > return this; > } > } > > > > public class CreateWMemberTruck { > > > @Inject > private WholeSaleMemberDao wholeSaleMemberDao; > @Property > private WholeSaleMemberEncoder wholeSaleMemberEncoder; > @Property > private SelectModel memberSelectModel; > @Property > @Inject > private SelectModelFactory selectModelFactory; > > @Property > private WholeSaleMember membersName; > > > void setupRender() { > // invoke my service to find all colors, e.g. in the database > List<WholeSaleMember> members = > wholeSaleMemberDao.getWholeSaleMembers(); > > // create a SelectModel from my list of colors > memberSelectModel = selectModelFactory.create(members, > "fName"); > } > > void onSuccess() { > > System.out.println("\n\n\n"+membersName.getId()+"\n\n\n\n"); > > } > } > > Now t:select is not populated, that page gives an exception > org.apache.tapestry5.internal.services.RenderQueueException > Render queue error in > BeforeRenderTemplate[wholesalemember/CreateWMemberTruck:members]: > org.apache.tapestry5.ioc.internal.util.TapestryException > > # > > activeComponents > > * wholesalemember/CreateWMemberTruck (class > com.kids.crm.pages.wholesalemember.CreateWMemberTruck) > * wholesalemember/CreateWMemberTruck:layout (class > com.kids.crm.components.Layout) > > classpath:com/kids/crm/pages/wholesalemember/CreateWMemberTruck.tml, line 4 > 1 <html t:type="layout" title="Create Whole sale Member > Truck" > 2 t:sidebarTitle="Browse Wood" > 3 xmlns:t=" > http://tapestry.apache.org/schema/tapestry_5_1_0.xsd" > 4 xmlns:p="tapestry:parameter"> > 5 <form t:type="form"> > > 8 <t:label for="members"/>: > 9 <t:select t:id="members" value="membersName" > model="MemberSelectModel" encoder="wholeSaleMemberEncoder" /> > * wholesalemember/CreateWMemberTruck:form (class > org.apache.tapestry5.corelib.components.Form) > > classpath:com/kids/crm/pages/wholesalemember/CreateWMemberTruck.tml, line 5 > 1 <html t:type="layout" title="Create Whole sale Member Truck" > 2 t:sidebarTitle="Browse Wood" > 3 xmlns:t=" > http://tapestry.apache.org/schema/tapestry_5_1_0.xsd" > 4 xmlns:p="tapestry:parameter"> > 5 <form t:type="form"> > > 8 <t:label for="members"/>: > 9 <t:select t:id="members" value="membersName" > model="MemberSelectModel" encoder="wholeSaleMemberEncoder" /> > 10 <t:submit value="save"/> > * wholesalemember/CreateWMemberTruck:members (class > org.apache.tapestry5.corelib.components.Select) > > classpath:com/kids/crm/pages/wholesalemember/CreateWMemberTruck.tml, line 9 > 4 xmlns:p="tapestry:parameter"> > 5 <form t:type="form"> > > 8 <t:label for="members"/>: > 9 <t:select t:id="members" value="membersName" > model="MemberSelectModel" encoder="wholeSaleMemberEncoder" /> > 10 <t:submit value="save"/> > 11 </form> > 12 > 13 <p:sidebar> > 14 <t:pagelink > page="wholesalemember/CreateWholeSaleMember">Create > W.Sale Member</t:pagelink> > > location > classpath:com/kids/crm/pages/wholesalemember/CreateWMemberTruck.tml, > line 9 > > # java.lang.NullPointerException > > Hide uninteresting stack frames Stack trace > > * > > org.apache.tapestry5.internal.util.SelectModelRenderer.option(SelectModelRenderer.java:51) > > > -- > View this message in context: > http://tapestry.1045711.n5.nabble.com/tapestry-select-model-tp4823674p4825110.html > Sent from the Tapestry - User mailing list archive at Nabble.com. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > > -- Jonathan Barker ITStrategic