-2

好吧,伙计们,我需要调用 CorreoController,它是一个 bean,我正在使用 JSF,使用 ajax,因为我需要发送电子邮件,并且我需要创建收件箱。

 public Message[] refrescar(String correo, String password, int tipoMail)
{
    Properties prop = new Properties();
    prop.setProperty("mail.pop3.starttls.enable", "false");
    prop.setProperty(
        "mail.pop3.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
    prop.setProperty("mail.pop3.socketFactory.fallback", "false");
    prop.setProperty("mail.pop3.port", "995");
    prop.setProperty("mail.pop3.socketFactory.port", "995");
    Session sesion = Session.getInstance(prop);

    switch(tipoMail)
    {
        case 1:try
    {
      // Se obtiene el Store y el Folder, para poder leer el
      // correo.
        Store store = sesion.getStore("pop3");
        store.connect(
            "pop.gmail.com", correo, password);
        Folder folder = store.getFolder("INBOX");
        folder.open(Folder.READ_ONLY);

        // Se obtienen los mensajes.
        Message[] mensajes = folder.getMessages();


        folder.close(false);
        store.close();
        return mensajes;
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
            break;

        case 2:try
    {
      // Se obtiene el Store y el Folder, para poder leer el
      // correo.
        Store store = sesion.getStore("pop3");
        store.connect(
            "pop3.live.com", correo, password);
        Folder folder = store.getFolder("INBOX");
        folder.open(Folder.READ_ONLY);

        // Se obtienen los mensajes.
        Message[] mensajes = folder.getMessages();

        // Se escribe from y subject de cada mensaje
        /*for (int i = 0; i < mensajes.length; i++)
        {
            System.out.println(
                "From:" + mensajes[i].getFrom()[0].toString());
            System.out.println("Subject:" + mensajes[i].getSubject());

            // Se visualiza, si se sabe como, el contenido de cada mensaje
            analizaParteDeMensaje(mensajes[i]);
        }*/

        folder.close(false);
        store.close();            
        return mensajes;
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
            break;
        default:break;

    }

    return null;


}

任何人都可以帮我如何提取这些元素mensajes,以及如何在javascript中制作一种dinamyc方式来制作一个表格以添加收集到的信息

4

1 回答 1

0

要在 JSF 中进行 AJAX 调用,您不需要使用 JavaScript。您可以尝试以下方法。

. 豆子:

@ManagedBean
@ViewScope
public class CorreoController {
    private List<Message> mensajes;

    public void refrescar(String correo, String password, int tipoMail) {
        // Your logic

        // Update the mensajes list at the end of this method
        this.mensajes = ...;
    }

    // Getters and Setters
}

. xhtml页面:

<h:dataTable id="mensajeTable" value="#{correoController.mensajes}" >
    ...
</h:dataTable>

<h:commandButton value="Get mensajes" actionListener="#{correoController.refrescar}" >
    <f:ajax render="mensajeTable" />
</h:commandButton>
于 2013-04-17T22:36:45.023 回答