Это будет трудно объяснить .. Так, в a.jsp у меня есть что-то вроде этого:Запуск сервлета из граней-конфигурации
<h:form enctype="multipart/form-data" >
<td><input type="text" name="imgName" value="" size="7"/></td>
<td><input type="text" name="imgDesc" value="" size="30"/></td>
<td>
<x:upload target="/upload/#{loginBean.user.login}/#{loginBean.user.filesUploaded}_image.jpg"/>
</td>
<td>
<h:commandButton value="Send" action="submit"/>
</td>
</h:form>
Теперь при нажатии кнопки «Отправить» будет работать фильтр, потому что (как я полагаю), что фильтр запускается для каждого сервлеля Faces (поэтому для каждого jsp?). Мой файл web.xml:
<filter>
<filter-name>Upload Filter</filter-name>
<filter-class>DomainModels.Adds.UploadFilter</filter-class>
<init-param>
<param-name>sizeThreshold</param-name>
<param-value>1024</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Upload Filter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
Как заставить принудительно запускать сервлет после фильтрации? Я где-то читал, что мне нужно написать простые <servlet>
и <servlet-mapping>
. Итак, я изменил «действие» атрибут к «TestServlet.do», добавил:
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>DomainModels.Adds.AddImage</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/TestServlet.do</url-pattern>
</servlet-mapping>
, но до сих пор мой TestServlet не работает .. Я пытался добавить в лицах-config.xml это:
<navigation-rule>
<from-view-id>/upload/a.jsp</from-view-id>
<navigation-case>
<from-outcome>submit</from-outcome>
<to-view-id>/TestServlet.do</to-view-id>
</navigation-case>
</navigation-rule>
но это не дает никакого результата .. Любые идеи?
Так что, если я хочу что-то сделать, мне просто нужно поместить его в метод decode()? В моем коде есть что-то подобное, и (если я правильно понимаю), он используется для сохранения загруженного файла из фильтра. Но смогу ли я получить значения из бобов? – Seraphis