icefaces ace:fileEntry не работает
Для моего веб-приложения я хотел бы использовать ace:fileEntry
составная часть.
Я попробовал витрину, но она не работает. Там нет ошибки. fileEntryListener
никогда не называется. Файл все еще загружается (браузер говорит), но файл не сохраняется на сервере.
Есть какая-нибудь известная проблема с этим?
<h:form id="fileUploadForm">
<h:panelGrid id="fileUploadGrid" columns="2" width="100%" styleClass="textEntryInputTable">
<ace:fileEntry id="fileEntryComp"
label="File Entry"
relativePath="uploaded"
fileEntryListener="#{ticketDetailListBean.listener}"/>
<h:commandButton id="submit" value="Datei uploaden" type="submit" styleClass="icebutton" />
<h:message id="msg" for="fileUploadForm:fileEntryComp" infoClass="infoMessage" errorClass="errorMessage"/>
<h:outputFormat value=""></h:outputFormat>
</h:panelGrid>
</h:form>
Недвижимость "fileEntryListener
"может быть установлен на что угодно. Неважно, если компонент и метод существуют. Если я ссылаюсь на несуществующий компонент, ошибка не возникает. Это говорит мне о том, что Слушатель никогда не используется.
я использую tomcat 7.0.34
а также icefaces 3.2.0.
Я попробовал свою собственную реализацию, и я все еще скопировал пример витрины icefaces. Оба не работают.
1 ответ
У меня была та же проблема, и она была решена следующим образом: проверьте тэг fileEntry, завернутый в панель ace:
<ace:panel>
<ace:fileEntry id="signature-file-entry"
relativePath="/files/"
maxFileCount="1"
maxFileCountMessage="#{msg.concurrentFileUploadLimit}"
fileEntryListener="#{userManagement.signatureUploadListener}"
maxFileSize="6291456"
maxFileSizeMessage="#{msg.maxFileSizeMessage}"
maxTotalSize="18874368"
maxTotalSizeMessage="#{msg.maxTotalSizeMessage}"
required="true"
requiredMessage="#{msg.requiredMessage}"
useOriginalFilename="true"
useSessionSubdir="true"
tabindex="6"/>
<ace:message for="signature-file-entry" showSummary="true" showDetail="false" />
<h:commandButton value="#{msg.sendFile}" type="submit" id="uploadAFile" />
</ace:panel>
проверьте ваш web.xml, он должен содержать следующие теги:
<context-param>
<param-name>org.icefaces.mandatoryResourceConfiguration</param-name>
<param-value>fileEntry</param-value>
</context-param>
а также
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/icefaces/*</url-pattern>
</servlet-mapping>