Community contributed extensions

PlayRythm module documentation

Welcome to PlayRythm module documentation. This documentation is intended for the 0.9.7a beta release and may significantly differ from previous module version’s documentation.

Check the version history.

PlayRythm features

PlayRythm is yet another template engine plugin for Play!Framework 1.2x version:

  1. Static and strong typed pure Java template. Yes it’s like Japid and Jamon
  2. Razor like syntax
  3. Easy to integrate with Play!Framework. There is no special controller needed at all
  4. Support layout and tag, as you did in Groovy template
  5. Support FastTags and JavaExtensions with constraints
  6. Invoke controller action method directly from within your template

Template Syntax at a glance

Based on Rythm template engine, PlayRythm module provides an easy to read/write template language which is very like that is used in .Net MVC’s Razor template engine. Here is one rythm template example:

@extends(/main.html);
@args List<User> users;
...
<ul>
@for(User user: users) {
    @if (!user.disabled()) {
        <li class="@user_parity">
            <span>@user_index</span>
            <a href="@_u(User.show(user.getId()))">user.getName()</a>
        </li>
    }
}
</ul>

Use PlayRythm template engine

1. Add PlayRythm into your dependencies.conf file:

# Application dependencies
   require:
       - play -> rythm

2. Create the template file in app/rythm folder.

The layout of the folder should be the same as your app/views folder.

Rythm can stay with your groovy templates. Suppose you have a controller action Application.index(), if you have Application/index.html file put into app/rythm folder, then Rythm template engine will execute it. If not then your Application/index.html file in app/views folder will be picked up and processed by Groovy template engine. Please refer to Rythm Template User Guide for more information

See Also

  1. Integrate PlayRythm into your Play project
  2. User's guide
  3. Reference manual