Guest User

Untitled

a guest
Jun 19th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.67 KB | None | 0 0
  1. import groovy.xml.MarkupBuilder
  2.  
  3. MarkupBuilder.metaClass.define {
  4. fromString = { str, var = [:] ->
  5. def code = "{-> ${str} }" // a closure
  6. def received = new GroovyShell([var: var] as Binding).evaluate(code)
  7. received.delegate = delegate // MarkupBuilderにデリゲート
  8. received()
  9. }
  10. fromFile = { file, var = [:] ->
  11. delegate.fromString(file.getText('UTF-8'), var)
  12. }
  13. }
  14.  
  15.  
  16. int size = 100
  17. def writer = new File('groovy_htmlbuilder_test.html').newPrintWriter('UTF-8')
  18. def html = new MarkupBuilder(writer)
  19. html.doubleQuotes = true // 属性は ' じゃなくて " で。
  20. html.fromFile(new File('markup.ghtml'), [size: size]) // 引数も渡せる!
  21. writer.close()
Add Comment
Please, Sign In to add comment