Es wird schwer sein, zu erklären .. Also, in a.jsp Ich habe so etwas wie dies:Lauf Servlet von Gesichter-config
<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>
nun die Taste "Senden" Filter laufen wird, weil (wie ich annehme) dieser Filter läuft für jedes Faces-Servlet (also für jedes JSP?). Meine web.xml-Datei:
<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>
Wie kann ich das Ausführen von Servlet nach dem Filtern erzwingen? Ich habe irgendwo gelesen, dass ich einfach <servlet>
und <servlet-mapping>
schreiben muss. Ok, also habe ich geändert „action“ Attribut „TestServlet.do“, ergänzte diesen:
<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>
aber immer noch mein TestServlet nicht funktioniert .. Ich habe versucht, in hinzufügen faces-config.xml dies:
<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>
aber es gibt kein Ergebnis .. Irgendwelche Ideen?
Also, wenn ich etwas tun will, muss ich es nur in decode() Methode platzieren? Ich habe so etwas in meinem Code, und (wenn ich es richtig verstehe) wird es verwendet, um hochgeladene Datei vom Filter zu speichern. Aber kann ich Werte von Bohnen bekommen? – Seraphis