Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

This dichotomy between component event requests and render requests alleviates a number of problems in traditional web applications related to the browser back button, or to the user hitting the refresh button in their browser.

In certain cases, Tapestry will shorten the the logical name of a page. For example, the page class org.example.pages.address.CreateAddress will be given a logical name of "address/Create" (the redundant "Address" is removed as a suffix). However, this only affects how the page is referenced in URLs; the template file will still be CreateAddress.tml, whether on the classpath, or as address/CreateAddress.tml (in the web context).

...

Main Article: Page Navigation  Component Events

Component event requests may take the form of hyperlinks (EventLink or ActionLink) or form submissions (Form).

...

Code Block
public Object onAction(){
    return new StreamResponse() {
        @Override
        public String getContentType() {
            return "application/pdf";
        }
        @Override
        public InputStream getStream() throws IOException {
            return new ByteArrayInputStream(getMyPdfByteArray());
        }
        @Override
        public void prepareResponse(Response response) {
            response.setHeader("Content-Disposition", "attachment; filename=\"" + myFileName + "\"");
        }
    };
}

...


A java.net.URL response is handled as a client redirect to an external URL. (In Tapestry 5.3.x and earlier this only works for non-Ajax requests.)

...

Info

Note: If you are using the tapestry-hibernate integration library and your passivate context is a Hibernate entity, then you can just use the entity itself, not its id. Tapestry will automatically extract the entity's id into the URL, and convert it back for the "activate" event handler method.

...

When a page render request arrives, the page is activated before it is rendered.

Wiki Markup
{float:right|background=#eee|padding=0 1em}
    *JumpStart Demos:*
    [onActivate and onPassivate|

...

https://tapestry-jumpstart.

...

org/jumpstart/examples/navigation/onactivateandonpassivate/3]
    [Handling A Bad Context|

...

https://tapestry-jumpstart.

...

org/jumpstart/examples/infrastructure/handlingabadcontext/1]
{float}

Activation serves two purposes:

...

At some point, persistent values make more sense. Tapestry has several persistence strategies available, including one that stores data in URL query parameters. See Persistent Page Data for details.

Scrollbar