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;
    }
}

                                          

Reply via email to