Как читать вложения без использования скриптлетов в JSP? - PullRequest
2 голосов
/ 12 апреля 2010

Я хочу знать, как я могу читать вложения без использования скриптов в JSP? После получения объекта сообщения в качестве атрибута с помощью объекта запроса из сервлетов, как я могу подтвердить, является ли содержимое сообщения экземпляром Multipart или нет, без использования таких скриптов, как:

 if(message.getContent() instanceOf Multipart)

Как я могу прочитать содержимое любого файла, используя EL в JSP? Как я не вижу никакого метода getRead в подклассе inputStream.

Ответы [ 2 ]

2 голосов
/ 12 апреля 2010

Добавьте эти получатели в класс 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();
}

Таким образом, вы можете использовать его в JSTL / EL:

<c:if test="${message.multipart}">
    <c:out value="${message.contentAsString}" />
</c:if>
1 голос
/ 12 апреля 2010

Выполните эту логику также в сервлете и «отправляйте» только те данные, которые будут использоваться для представления в jsp. В этом случае отправьте:

  • a boolean указывает на наличие вложений
  • список вложений
...