Wie der Zugriff auf <context-param> Werte von web.xml im Frühjahr Controller
Ich bin die Definition eines context-param in web.xml meine Anwendung wie unten
<context-param>
<param-name>baseUrl</param-name>
<param-value>http://www.abc.com/</param-value>
</context-param>
Nun möchte ich den Wert von baseUrl in meinem Controller, so wie ich Zugriff auf diese.....?
Bitte sagen Sie mir, wenn jemand weiß, über diese.
Vielen Dank im Voraus !
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn du mit Spring 3.1+, die Sie nicht haben, etwas besonderes zu tun, um zu erhalten die Eigenschaft. Verwenden Sie einfach die vertraute ${Eigenschaft.name} - syntax.
Zum Beispiel, wenn Sie haben:
in
web.xml
oder<Parameter name="property.name" value="value" override="false"/>
in der Tomcat
context.xml
dann können Sie darauf zugreifen wie:
Dies funktioniert, weil im Frühjahr 3.1+, die Umwelt registriert, wenn die Bereitstellung einer Servlet-Umgebung ist die StandardServletEnvironment fügt hinzu, dass alle servlet-Kontext relevanten Eigenschaften, um die allgegenwärtige
Environment
.Machen Ihren Controller zu implementieren die ServletContextAware - Schnittstelle. Dies zwingt Sie implementieren eine
setServletContext(ServletContext servletContext)
Methode und der Frühling injizieren der ServletContext in es. Dann kopieren Sie einfach den ServletContext Referenz zu einem privaten Klasse-Mitglied.Können Sie den param-value:
Ersten, in den Frühlings-Anwendungen "applicationContext.xml" (oder wie du Sie genannt hast:), fügen Sie eine Eigenschaft Platzhalter wie diese:
Optionalen parameter "location" könnte Hinzugefügt werden, wenn Sie auch möchten, laden einige Werte gefunden .properties-Dateien. ( Ort="WEB-INF/meine.Eigenschaften" zum Beispiel).
Wichtige Attribut ist daran zu erinnern, das 'local-override="true"' - Attribut, was sagt die Platzhalter zu verwenden context-Parameter, wenn Sie nicht finden können, was in der geladenen properties-Dateien.
Dann in Ihren Konstruktoren und setter können Sie Folgendes tun, verwenden Sie die @Value-annotation und SpEL(Spring Expression Language):
Diese Methode hat den zusätzlichen Vorteil der Abstraktion, Weg von der ServletContext, und gibt Ihnen die Möglichkeit zum überschreiben der default-context-param Werte mit benutzerdefinierten Werten in einer properties-Datei.
Hoffe, das hilft:)