2010-04-11 9 views
2

Je veux savoir comment puis-je lire les messages de pièces jointes sans utiliser les scriplets dans JSP? Après avoir obtenu l'objet du message comme un attribut en utilisant l'objet de la demande de servlets, comment puis-je confirmer si le contenu du message est une instance de multipart ou non sans utiliser scriplets comme:Comment lire les messages de pièces jointes sans utiliser de scriptlets dans JSP?

if(message.getContent() instanceOf Multipart) 

Comment puis-je lire le contenu d'un fichier par en utilisant EL dans JSP? Comme je ne peux pas voir une méthode getRead dans la sous-classe inputStream.

Répondre

2

Ajouter les apporteurs à la même classe Message:

public boolean isMultipart() { 
    return (getContent() instanceof Multipart); 
} 

public String getContentAsString() { 
    StringBuilder builder = new StringBuilder(); 
    // Append using BufferedReader/InputStreamReader. If necessary, do it lazily. 
    return builder.toString(); 
} 

De cette façon, vous peut l'utiliser dans JSTL/EL:

<c:if test="${message.multipart}"> 
    <c:out value="${message.contentAsString}" /> 
</c:if> 
1

Effectuez cette logique dans le servlet ainsi, et « envoyer » seules les données qui seront utilisées pour la présentation à la jsp. Dans ce cas envoyer:

  • un boolean indiquant s'il y a des pièces jointes
  • la liste des pièces jointes