Kauri has its own template engine. It has the usual things you can expect from a template engine, both towards the user as towards the developer (e.g. template pre-compilation).
Unique about Kauri's template engine is that it is XML-based, which has the advantage of providing guaranteed XML/HTML well-formed output, avoidance of HTML-injection, performant XML-pipeline processing of the template output, and abstraction of some HTML serialization rules (e.g. close tag required for <script>).
The default expression language is EL, as implemented by JUEL. For those cases where you need to do something more powerful, you can use Groovy.
The Kauri template engine is a stand-alone library, which can be easily used in other projects without pulling in all of Kauri.