2017-04-21 6 views
1

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> 

のようになります。このタイプのコードでは、

答えて

0

ここでの問題は、このメソッドを使用すると、文字列がパラメータとしてテーブルクロージャに渡されることです。この作業をするために必要なものは、マップを返すメソッドです。これを解決するには、次の方法を使用してください。

def createTableCSS(String width, String border, String cellSpacing, String background, String classes) { 
    return [width: width] 
} 
+0

これは問題なく動作します。ありがとうございました。 :-) – Therese

+0

あなたの答えは今の解決策としてマークされていますか? – Therese

+0

はい、ありがとうございます;) – Roland

関連する問題