-2

ええと、私は電子メールを作成する必要があり、受信トレイを作成する必要があるため、BeanであるCorreoControllerを呼び出す必要があります.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;


}

これらの要素を抽出する方法と、収集した情報を追加するテーブルを作成する動的な方法をjavascriptで作成する方法を教えてください。

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 に答える