Наблюдение как, как парни, которые делают Grails просто, были вчера выкуплены источником Spring, я скажу Grails.
кроме того, так как Groovy является надмножеством Java, можно погрузиться прямо в просто использование Java, который Вы знаете, не имея необходимость изучать Ruby. Теперь, Вы изучите много динамического материала также и в конечном счете запишете код Groovy вместо кода Java, но это понижает барьер для доступа.
Grails полностью!
Вам необходимо создать класс, реализующий интерфейс IDisposable
, и вернуть его из вашего HtmlHelper
.
public static class HtmlHelperTableExtensions {
private class TableRenderer : IDisposable {
HtmlHelper html;
public TableRenderer(HtmlHelper html) {
this.html = html;
}
public void Dispose() {
HtmlHelperTableExtensions.EndTable(html);
}
}
public static IDisposable BeginTable(this HtmlHelper html) {
// print begin table here...
return new TableRenderer(html);
}
public static void EndTable(this HtmlHelper html) {
// print end table here...
}
}
Вам понадобится метод примерно такого вида:
public static IDisposable BeginTable(this HtmlHelper html, ...)
{
// write the start of the table here
return new EndTableWriter();
}
Где EndTableWriter
будет примерно таким:
private class EndTableWriter : IDisposable
{
public void Dispose()
{
// write the end of the table here
}
}