Значения полей сбрасываются в пустые при исключении загрузки файла шва - PullRequest
1 голос
/ 28 сентября 2011

У меня есть приложение jsf-seam, в которое я загружаю файл, используя seam: fileUpload, используя приведенный ниже код.Кроме того, я сделал запись multipart-filter, чтобы ограничить размер файла до 1 МБ.

<s:fileUpload id="offerImage" data="#{myBean.data}" contentType="#myBean.contentType}" fileName="#{myBean.fileName}" fileSize="#{myBean.size}" /> 

    <web:multipart-filter create-temp-files="true"
            max-request-size="1000000" 
            url-pattern="*.seam"/>

Все работает нормально, за исключением случаев, когда пользователь пытается загрузить файл размером более 1 МБ, он выдает исключение,Я обрабатываю это исключение также в файле pages.xml.

<exception class="org.jboss.seam.web.FileUploadException">
  <redirect view-id="/create.xhtml">
   <message severity="ERROR">Error while uploading Offer Image, due to size limitation.</message>
  </redirect>

Проблема здесь: Все остальные поля в create.xhtml (кроме поля загрузки) становятся пустыми.Пользователь не должен заполнять все поля снова, кроме загрузки файла.

Есть ли способ, где я могу перенаправить пользователя на ту же страницу xhtml, где все значения, заполненные пользователем, сохраняются, когда возникает исключение seamFileUpload.

С уважением, Раджат

1 Ответ

0 голосов
/ 29 сентября 2011

Запускаете ли вы эту страницу с компонентами в диалоге или области видимости страницы? Если есть «просто» компонент в области событий, ваши backingbeans будут инициализироваться при каждом запросе, и поэтому вы можете иметь пустые поля при следующем рендеринге.

...