Skip to content

Instantly share code, notes, and snippets.

grails.buildScope=war
grails.war.deployed=true
grails.env=development
grails.gsp.enable.reload=true
@nithril
nithril / gist:828045
Created February 15, 2011 19:18
Spring controller
@Controller
@RequestMapping(value = "/test")
public class TestController {
@RequestMapping(method = RequestMethod.GET, value = "/1")
public ModelAndView getCreateForm() {
Map map = new HashMap();
Account account = new Account();
account.setName("John Doe");
<ui:composition template="/composition">
<ui:define composition="${it}" name="menu">
<g:render template="/template" model="[testTemplate:foo]"/>
</ui:define>
<ui:define composition="${it}" name="body">
${account.name}
</ui:define>
</ui:composition>
INFO TestHtmlUnit - icefaces HTML:22KB JS:1275KBCSS:105KB Total:1403KB
INFO TestHtmlUnit - primefaces HTML:4KB JS:249KB CSS:21KB Total:275KB
INFO TestHtmlUnit - richfaces HTML:8KB JS:252KB CSS:8KB Total:270KB
INFO TestHtmlUnit - icefaces HTML:22KB JS:1275KBCSS:105KB Total:1403KB
INFO TestHtmlUnit - primefaces HTML:4KB JS:247KB CSS:38KB Total:290KB
INFO TestHtmlUnit - richfaces HTML:8KB JS:275KB CSS:7KB Total:291KB
INFO TestHtmlUnit - icefaces HTML:12KB JS:0KB CSS:0KB Total:12KB
INFO TestHtmlUnit - primefaces HTML:2KB JS:0KB CSS:0KB Total:2KB
INFO TestHtmlUnit - richfaces HTML:6KB JS:0KB CSS:0KB Total:6KB
class UICompositionTagLib {
static namespace = 'ui'
def out
def composition = { attrs, body ->
if (!attrs.template) {
throwTagError("Tag [composition] is missing required attribute [template]")
}
Composition composition = new Composition()
class Composition {
Map defines = new HashMap()
}
<ui:composition template="/table">
<ui:define composition="${it}" name="toolbar">
[Toolbar content]
</ui:define>
<ui:define composition="${it}" name="table">
[Table content]
</ui:define>
</ui:composition>