Hello,

I have a page that lists job postings (beans) as follows:

Template:
*<t:recruiters.recruiterslayout xmlns:t="
http://tapestry.apache.org/schema/tapestry_5_1_0.xsd";
xmlns:p="tapestry:parameter">
    <form t:type="form" t:id="jobPostings">
        <t:grid source="jobPostings" row="jobPosting" add="activate,modify"
exclude="jobPostingValidationDate">
            <p:activatecell>
                <t:actionlink t:id="activate"
context="jobPosting.idJobPosting">activate</t:actionlink>
            </p:activatecell>
            <p:modifycell>
                <t:actionlink t:id="modify"
context="jobPosting.idJobPosting">modify</t:actionlink>
            </p:modifycell>
         </t:grid>
    </form>
</t:recruiters.recruiterslayout>
*
Java:
*package com.cheetah.web.pages.recruiters;


import com.cheetah.domain.JobPosting;
import com.cheetah.service.CheetahService;
import org.apache.tapestry5.EventConstants;
import org.apache.tapestry5.annotations.OnEvent;
import org.apache.tapestry5.annotations.PageActivationContext;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.ioc.annotations.Inject;


import java.util.Date;
import java.util.List;

public class JobPostingsTable {

    @Property
    private List<JobPosting> jobPostings;

    @PageActivationContext
    @Property
    private JobPosting jobPosting;

    @Property
    private Date date;

    @Inject
    private CheetahService service;

    @OnEvent(EventConstants.ACTIVATE)
    void loadJobPostings() {
        jobPostings = service.loadJobPostings();
    }

    @OnEvent(EventConstants.ACTION)
    void activateJobPosting() {

    }

    @OnEvent(value = EventConstants.ACTION, component = "modify")
    Object modifyJobPosting() {
           return ModifyJobPosting.class;
    }
}*

However, when I click on the action link with t:id="modify", the job posting
id is lost... and the ModifyJobPosting page is not able to display the bean.

Template for ModifyJobPosting:
*<t:recruiters.recruiterslayout xmlns:t="
http://tapestry.apache.org/schema/tapestry_5_1_0.xsd";
xmlns:p="tapestry:parameter">
    <t:beandisplay object="jobPosting" />
</t:recruiters.recruiterslayout>*

java for ModifyJobPosting:
*public class ModifyJobPosting {

    @PageActivationContext
    @Property
    private JobPosting jobPosting;

}*

I must be missing something obvious about PageActivationContext usage. Can
anyone please help?

Regards,

Julien.

Reply via email to