Book Image

Tapestry 5: Building Web Applications

Book Image

Tapestry 5: Building Web Applications

Overview of this book

Table of Contents (17 chapters)
Tapestry 5
Credits
About the Author
About the Reviewers
Preface
Foreword
Where to Go Next

Using a Parameter


The most natural solution for displaying a page-specific title is to pass this title to the Border component as a parameter, and this is very easy to do. First of all, let's prepare the component's template to display the title:

<head>
<title>Celebrity Collector: ${pageTitle}</title>
<link rel="stylesheet"
href="${asset:context:/assets/styles.css}"
type="text/css"/>
</head>…

Next, we need to define the parameter in the component class. Add the following lines of code to Border.java:

@Parameter(required = true, defaultPrefix = "literal")
private String pageTitle;
public String getPageTitle()
{
return pageTitle;
}

The parameter is defined as mandatory here, which probably makes sense. If it is not provided to the component, Tapestry will throw an exception. However, we could also define it as optional and then perhaps provide a default value, like this:

@Parameter
private String pageTitle = "Default Title";

Also, we have defined that the default...