Wie der Zugriff auf Session-oder Request-Objekt in das Velocity-Template
Ich versuche, Zugriff auf HttpServletRequest in einigen velocity-template aber nicht gelingen.
Ich habe schon versucht folgenden Geschmack der syntax
Aktuelle URL": $req.get("Attribute").get("CURRENT_URL"))
Ergebnis - > "Aktuelle URL": $req.get("Attribute").get("CURRENT_URL"))
Aktuelle URL: $verlangen.get("Attribute").get("CURRENT_URL"))
Ergebnis - > Aktuelle URL: $verlangen.get("Attribute").get("CURRENT_URL"))
Aktuelle URL: $verlangen.get("Attribute").get("CURRENT_URL"))
Ergebnis - > Aktuelle URL: $verlangen.get("Attribute").get("CURRENT_URL"))
Aktuelle URL: ${request.get("Attribute").get("CURRENT_URL"))}
Ergebnis - > Aktuelle URL: ${request.get("Attribute").get("CURRENT_URL"))}
Hinweis : Web.xml sieht aus wie
<!-- Processes application requests -->
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<!-- Define Velocity template compiler -->
<servlet>
<servlet-name>velocity</servlet-name>
<servlet-class>
org.apache.velocity.tools.view.servlet.VelocityViewServlet
</servlet-class>
<!--
Unless you plan to put your toolbox.xml and velocity.properties
under different folders or give them different names, then these
two init-params are unnecessary as of VelocityTools 1.3. The
VelocityViewServlet will automatically look for these files in
the following locations.
-->
<init-param>
<param-name>org.apache.velocity.toolbox</param-name>
<param-value>/WEB-INF/toolbox.xml</param-value>
</init-param>
<init-param>
<param-name>org.apache.velocity.properties</param-name>
<param-value>/WEB-INF/velocity.properties</param-value>
</init-param>
</servlet>
<!-- Map *.vm files to Velocity -->
<servlet-mapping>
<servlet-name>velocity</servlet-name>
<url-pattern>*.vm</url-pattern>
</servlet-mapping>
InformationsquelleAutor Ifi | 2012-08-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
$request.getParameter("parameterName")
InformationsquelleAutor Diego Ramos
Für VelocityTools, die korrekte Verweise sind $request und $response, nicht $req und $res
Den Methoden name getAttribute, nicht bekommen. So können Sie das tun:
$request.getAttribute('foo')
oder nur $Anfrage.foo
aber nicht $Anfrage.get('foo')
InformationsquelleAutor Nathan Bubna
Werden Sie nicht haben, Zugang zu den
HttpServletRequest
standardmäßig in Ihrem Velocity-template; haben Sie nur Zugriff auf Objekte, die platziert wurden, in derContext
für Sie. So in der zugrunde liegenden Java-Klasse hinzufügen, die info, die Sie wollen in der conext:Dann in Ihrem Velocity-templates können Sie einfach Referenz
$url
.InformationsquelleAutor Evan Haas
Müssen Sie die Rolle Ihrer eigenen Klasse, basierend auf der Sitzung, um dies richtig tun.
Ich dieses problem sofort und werde nun erstellen Sie eine session-Klasse, werde ich den Zugriff über eine Eigenschaft Werte als eine Liste von HashMaps.
Dann alles, was Sie tun müssen, ist, weisen Sie die Werte einmal zu velocity-Kontext vor der Verwendung.
InformationsquelleAutor Gary Blake
Bestimmte parameter:
Den kompletten query-string:
InformationsquelleAutor Mike
Versuchen, diese
InformationsquelleAutor Ego Slayer