【问题标题】:Using seam:mail in Message Driven Bean在消息驱动 Bean 中使用 seam:mail
【发布时间】:2011-10-05 04:01:34
【问题描述】:

我熟悉JSF,有自动创建邮件的需求。我喜欢用 JSF 风格模板化电子邮件的 seam:mail 的想法,并且还使用 JSF 组件:

<m:message>
  <m:from name="Peter" address="peter@example.com" />
  <m:to name="#{person.firstname} #{person.lastname}">#{person.address}</m:to>
  <m:subject>Try out Seam!</m:subject>
  <m:body>
    <p><h:outputText value="Dear #{person.firstname}" />,</p>
    <p>You can try out Seam by visiting 
    <a href="http://example.com">http://example.com</a>.</p>
    <p>Regards,</p>
    <p>Pete</p>
  </m:body>
</m:message>

据我了解Documentation,尤其是这个sn-p(缩短),

那么,现在您有了电子邮件模板,您将如何发送它?好吧,在渲染 m:message 的最后会调用 mailSession 来发送电子邮件,所以你所要做的就是让 Seam 渲染视图,

@In(create=true) private Renderer renderer;

public void send()
{
   renderer.render("/simple.xhtml");
   facesMessages.add("Email sent successfully");
} 

这是在公共 JSF(Facelet)页面中调用的。是否有机会在消息驱动 Bean 中执行此操作?或者我应该去其他模板引擎?见Suggestions for Java email templating?

【问题讨论】:

    标签: java email jsf seam template-engine


    【解决方案1】:

    AFAIK Message Driven Beans are for receiving messages。我认为这与您自动创建电子邮件的要求没有多大关系。

    无论如何,this Seam tutorial 告诉您有关使用 seam 发送和接收 JMS 消息的信息。也许它为你的目的服务,不管它是什么。

    【讨论】:

    • 我想要一个异步处理。如果发生事件,则会创建一个(或多个)JMS 消息并将其放入队列中。接收者获取 JMS 消息,准备 HTML 电子邮件并通过 SMTP 发送。
    • 那么我的第二个链接是最有用的,如果有的话:)
    • 第二个链接显示Message-driven beans may even be Seam components, in which case it is possible to inject other event and application scoped Seam components. ...这看起来很有希望,我会测试它!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-16
    • 1970-01-01
    • 2017-06-13
    • 2016-03-31
    • 1970-01-01
    • 2012-07-21
    • 2016-09-28
    相关资源
    最近更新 更多