THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Section | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
package org.example.myapp.components;
import org.apache.tapestry5.MarkupWriter;
import org.apache.tapestry5.annotations.BeginRender;
public class HelloWorld
{
@BeginRender
void renderMessage(MarkupWriter writer)
{
writer.write("Bonjour from HelloWorld component.");
}
}
|
...
Injection of dependencies occurs at the field level, via additional annotations. At runtime, fields that contain injections become read-only.
Code Block |
---|
@Inject // inject a resource
private ComponentResources componentResources;
@Inject // inject a block
private Block foo;
@Inject // inject an asset
@Path("context:images/top_banner.png")
private Asset banner;
@Inject // inject a service
private AjaxResponseRenderer ajaxResponseRenderer;
|
...
Example:
Code Block | ||||
---|---|---|---|---|
| ||||
package org.example.app.pages;
import org.apache.tapestry5.annotations.Component;
import org.apache.tapestry5.annotations.Property;
import org.example.app.components.Count;
public class Countdown
{
@Component(parameters =
{ "start=5", "end=1", "value=countValue" })
private Count count;
@Property
private int countValue;
}
|
...