<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Read Sean

    Read me, read Sean.
    posts - 508, comments - 655, trackbacks - 9, articles - 4

    [Tips] 使用Groovy處理郵件通知

    Posted on 2008-08-27 18:55 laogao 閱讀(744) 評論(0)  編輯  收藏 所屬分類: On JavaProgramming in GeneralOther Languages

    通過Groovy實現郵件通知(其實是轉發到ANT)十分容易,先上代碼:

    ?1?ant?=?new?AntBuilder()
    ?2?
    ?3?def?mail(subject,?body,?attachment?=?[dir:".",files:[]])?{
    ?4?????ant.mail(mailhost:"mail.com",?mailport:"1025",?user:"mailer",?password:"123",?subject:"${subject}")?{
    ?5?????????from(address:"nobody@mail.com")
    ?6?????????to(address:"nobody@mail.com")
    ?7?????????message("${body}")
    ?8?????????attachments()?{
    ?9?????????????if?(attachment.files)?{
    10?????????????????fileset(dir:"${attachment.dir}")?{
    11?????????????????????attachment.files.each?{
    12?????????????????????????include(name:it)
    13?????????????????????}
    14?????????????????}
    15?????????????}
    16?????????}
    17?????}
    18?}
    19?
    20?attachment?=?[dir:"/tmp",?files:["some.properties","some.sql"]]
    21?mail("Test?mail?message?at?${new?Date()}",?"This?is?a?test?message.",?attachment)
    22?

    這個簡單的例子很好的展示了如下Groovy特性:
    1- Groovy腳本可以不需要定義任何class,方法定義和實際調用也可以混在一起,十分順手。
    2- 定義變量不需要指定類型,只要賦值即可,不過運行期依然是強類型。
    3- 方法參數可以有默認值。
    4- List和Map的構建直接在語義層面提供支持,如[a:1,b:2]和[1,2]。
    5- GString使得我們可以方便的在String中引用變量甚至是表達式,如"${a.b.c}"或"${new Date()}"。
    6- 邏輯判斷在true/false基礎上有所擴展,[](0個元素的List)和null均做false處理。
    7- Closure支持,方便我們在外圍代碼處“當場”指定處理邏輯,省去了大多數在Java中需要匿名內部類來處理的麻煩,如attachment.files.each { .... },只有一個傳入參數時,可直接用it指代。
    8- 與ANT的無縫集成,以及對Builder模式的良好支持,使得我們可以寫出上述初看上去有些不可思議的代碼。

    P.S. 雖然Groovy自己已經bundle了ANT,可以直接使用其中的絕大多數功能,不過為了調用ANT的mail task,還需要將ANT發行版中帶有的ant-javamail.jar以及JavaMail API對應的jar包(可以從Sun網站下載)加到classpath。如果你的JDK版本低于6.0,還需要activation.jar。


    主站蜘蛛池模板: 亚洲一级二级三级不卡| 精品国产亚洲一区二区在线观看| 久久精品国产精品亚洲艾| 一级全免费视频播放| ZZIJZZIJ亚洲日本少妇JIZJIZ| 看成年女人免费午夜视频| 亚洲精品线路一在线观看| 高清免费久久午夜精品| 亚洲无码日韩精品第一页| 精品久久久久久国产免费了| 亚洲综合av永久无码精品一区二区| 久草免费福利在线| 亚洲国产成人久久精品影视| 亚洲视频在线免费播放| 亚洲一本一道一区二区三区| 午夜时刻免费入口| 特级毛片爽www免费版| 亚洲男同帅GAY片在线观看| 99精品视频在线视频免费观看| 亚洲国产成人手机在线电影bd| 女人被弄到高潮的免费视频| 爱情岛亚洲论坛在线观看 | 亚洲视频在线精品| 日韩av无码免费播放| 亚洲国产成AV人天堂无码| 夜夜爽免费888视频| 一级做a爱过程免费视| 亚洲韩国—中文字幕| 在线中文高清资源免费观看| 成年免费a级毛片| 久久精品国产亚洲av麻豆小说 | 久久综合久久综合亚洲| 亚洲av无码不卡私人影院| 久久免费动漫品精老司机| 亚洲一卡一卡二新区无人区| 久久青青草原亚洲av无码| 青娱分类视频精品免费2| 九九久久精品国产免费看小说| 亚洲图片在线观看| 亚洲成AV人在线观看网址| 在线播放免费人成毛片乱码|