Here is my HOME template and java <t:layout title="literal:Tynamo!" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd" xmlns:p="tapestry:parameter"> <p:subMenuBlock> <ul> <li> </li> </ul> </p:subMenuBlock> <p:navBlock> <ul> <li> </li> </ul> </p:navBlock>
<h1>${message:org.hibernatesecurity.welcome}</h1> <h1> <div id="page.title"> <t:textOutput value="personclass.simplename"/> </div> </h1> <t:form t:id="galleryForm" id="galleryForm" clientValidation="true" > <t:errors/> <t:Gallery t:id="galleryWidget" id="galleryWidget" collectionType="coachClass" itemsPerPage="itemsPerPage" tableColumns="tableColumns" cursor="cursor" /> </t:form> </t:layout> package org.tynamo.examples.hibernatesecurity.pages; import java.util.Collection; import org.apache.tapestry5.BindingConstants; import org.apache.tapestry5.ClientElement; import org.apache.tapestry5.ComponentResources; import org.apache.tapestry5.annotations.Environmental; import org.apache.tapestry5.annotations.Import; import org.apache.tapestry5.annotations.InjectContainer; import org.apache.tapestry5.annotations.Parameter; import org.apache.tapestry5.annotations.Property; import org.apache.tapestry5.ioc.annotations.Inject; import org.apache.tapestry5.json.JSONObject; import org.apache.tapestry5.services.javascript.JavaScriptSupport; import org.tynamo.examples.hibernatesecurity.model.Coach; import org.tynamo.examples.hibernatesecurity.model.Person; import org.tynamo.examples.hibernatesecurity.model.UploadableMedia; import org.tynamo.routing.annotations.At; /** * components have parameters, pages have properties in T5 * * @author Kenneth.William.Colassi nhhockeypla...@hotmail.com */ @At("/") @Import(library = "classpath:org/tynamo/examples/hibernatesecurity/components/Gallery.script" ) public class Home { /** * Component */ @Property private Class collectiontype; @Property private Integer itemsPerPage = new Integer(50); @Property private Integer tableColumns = new Integer(3); @Property private int startRow; @Property private Object currentObject; @Property private int index; @Property private int pageIndex; @Property private Object currentPage; @Property private Collection collection; /** * Script */ @Property private int itemCount; @Property private int cursor; @Property private Object component; /** * JavaScript */ /** * The event to listen for on the client. If not specified, zone update can * only be triggered manually through calling updateHome on the JS object. */ @Parameter(name = "clientEvent", defaultPrefix = BindingConstants.LITERAL) private String clientEvent; /** * The event to listen for in your component class */ @Parameter(name = "prefix", defaultPrefix = BindingConstants.LITERAL, value = "default") private String prefix; @Parameter(name = "context") private Object[] context; /** * The page to be updated by us. */ //@Parameter(name = "home", defaultPrefix = BindingConstants.LITERAL, required = true) //private String home; /** * Set secure to true if https is being used, else set to false. */ @Parameter(name = "secure", defaultPrefix = BindingConstants.LITERAL, value = "false") private boolean secure; @Inject private ComponentResources componentResources; @Environmental private JavaScriptSupport javaScriptSupport; /** * The element we attach ourselves to you can ignore this crap... its not developed yet */ @InjectContainer private ClientElement clientElement; void afterRenderrrr() { String listenerURI = null;//componentResources.createEventLink(event, context).toAbsoluteURI(secure); // Add some JavaScript to the page to instantiate a ZoneUpdater. It will // run when the DOM has been fully loaded. JSONObject spec = new JSONObject(); spec.put("elementId", clientElement.getClientId()); spec.put("clientEvent", clientEvent); spec.put("listenerURI", listenerURI); //spec.put("homeId", home); javaScriptSupport.addScript("%sHome = new Home(%s)", prefix, spec.toString()); } public Class getUploadableMediaClass() { return UploadableMedia.class; } public Class getPersonClass() { return Person.class; } public Class getCoachClass() { return Coach.class; } }