使用方法在groovy中创建样式表
问题描述:
我正在用groovy构建一个html电子邮件,并且想要使用方法来设置我的元素样式。我想使用createTableCSS方法来为我的表设置样式。但它不起作用。造型出现在表格标签之外。使用方法在groovy中创建样式表
String createTableCSS(String width, String border, String cellSpacing, String background, String classes){
return "'width':'"+width+"'"
}
def responseDoc = job.addDocument("ECommerce_test.html"){out ->
def xmlWriter = new OutputStreamWriter(out)
MarkupBuilder html = new MarkupBuilder(xmlWriter)
html.doubleQuotes = true
html.expandEmptyElements = true
html.omitEmptyAttributes = false
html.omitNullAttributes = false
html.escapeAttributes = false
html.html(lang:'en') {
head {
title('E-Commerce email')
base('target':'_blank')
meta('http-equiv' : 'Content-Type', 'content' : 'text/html; charset=ISO-8859-1')
meta('name':'viewport', 'content':'width=320')
style(type:"text/css", '''
''')
}
body('style':'padding:0; margin:0; -webkit-text-size-adjust:none; width:100%;','bgcolor':'#F2F2F2') {
div(){
table(){ //Container table
tr(){
td('width':'20','class':'nomob'){
}
td('align':'center'){
table(createTableCSS("640", "", "", "", "")){
}
}
td(){
}
}
}
}
} //End <body>
} //End <html>
}
结果看起来是这样的
<table>'width':'640'</table>
,它应该是这样的
<table width:"640"></table>
我可以做到这一点没有一个方法,但真的想知道如何使用方法在这种类型的代码中。
答
这里的问题是,使用此方法会产生一个字符串作为参数提供给表闭包。你需要做的工作是返回地图的方法。你可以通过这个替换你的方法来解决这个问题:
def createTableCSS(String width, String border, String cellSpacing, String background, String classes) {
return [width: width]
}
这工作正常。谢谢。 :-) – Therese
您的答案现在标记为解决方案吗? – Therese
是的,谢谢你;) – Roland