【发布时间】:2014-01-19 07:01:53
【问题描述】:
您好,我正在使用带有 JSF 和 javamail 的 GMAIL 等 Web 应用程序工作,我使用 p:dialog 预览电子邮件:https://fbcdn-sphotos-h-a.akamaihd.net/hphotos-ak-prn1/1522023_568308536589120_1043722853_n.jpg
这是 VUE 的代码:
<h:form id="form">
<p:growl id="msgs" showDetail="true" />
<p:dataTable id="cars" var="message" value="#{mailservice.emails}" >
<p:ajax event="rowSelect" update=":form:display" oncomplete="carDialog.show()" />
<p:column headerText="From" style="width:24%">
<h:outputText value="#{message.from}" />
</p:column>
<p:column headerText="Subject" style="width:24%">
<h:outputText value="#{message.subject}" />
</p:column>
<p:column style="width:4%">
<p:commandButton id="selectButton" update=":form:display" oncomplete="carDialog.show()" icon="ui-icon-search" title="View">
<f:setPropertyActionListener value="#{message}" target="#{mailservice.selectedMessage}" />
</p:commandButton>
</p:column>
</p:dataTable>
<p:dialog header="Car Detail" widgetVar="carDialog" resizable="false" id="carDlg"
showEffect="fade" hideEffect="explode" modal="true">
<h:panelGrid id="display" columns="2" cellpadding="4" style="margin:0 auto;">
<h:outputText value="Meassage :" />
<h:outputText value="#{mailservice.selectedMessage.text}" style="font-weight:bold"/>
</h:panelGrid>
</p:dialog>
</h:form>
这是托管 bean 的代码,用于获取 GMAIL 电子邮件并将其存储在 ArrayList 中:
public ArrayList<Email> getEmails()
{ ArrayList<Email> emails=new ArrayList<Email>();
try {
Properties props = System.getProperties();
props.setProperty("mail.store.protocol", "imap");
Session session = Session.getDefaultInstance(props, null);
session.setDebug(true);
Store store = session.getStore("imaps");
System.out.println(store.getClass());
store.connect("imap.gmail.com", Util.getEmail(), Util.getEmailPassword());
System.out.println(store);
Folder inbox = store.getFolder("Inbox");
inbox.open(Folder.READ_WRITE);
Message messages[] = inbox.getMessages();
int nb = messages.length;
int max;
if(nb>=3)
max=3;
else
max=nb;
for(int i = nb-1 ;i>=nb-max;i--) {
Message message = messages[i];
emails.add(new Email(message.getFrom()[0].toString(), message.getSubject(), message.getContent().toString()));
}
inbox.close(true);
} catch (Exception ex) {
Logger.getLogger(MailService.class.getName()).log(Level.SEVERE, null, ex);
}
return emails;
}
问题是 html 电子邮件显示电子邮件的代码 html 如下:
https://fbcdn-sphotos-h-a.akamaihd.net/hphotos-ak-prn1/1522023_568308536589120_1043722853_n.jpg
【问题讨论】:
标签: java html jsf jsf-2 jakarta-mail