2011-09-21 14 views

risposta

2

Dipende dal framework dell'applicazione Web, perché FreeMarker stesso non espone i parametri della richiesta. (Bene, eccetto se il framework usa freemareker.ext.servlet.FreemarkerServlet che è una specie di estensione a FreeMarker.) Inoltre, di solito non dovresti accedere ai parametri di richiesta direttamente da un modello MVC o qualsiasi altro specifico HTTP/Servlet.

A partire dal messaggio di errore, ciò che è stato scritto contiene alcuni errori di sintassi ... probabilmente intendevi <#if RequestParameters.servicesettings??> (non è JSP - non utilizzare ${...} -s all'interno dei tag di FreeMarker). Ciò richiederà che avete RequestParameters nel modello di dati, che non posso sapere con certezza ...

+1

Ottenuto, sta lavorando per me provare -> Request.requestattribute; restituisce l'attributo di richiesta e RequestParameters.somevalue per il parametro .. – zDroid

1

dovremmo scrivere in questo modo:

${Request.requestattribute} 
+0

<#if RequestParameters.servicesettings ??> – zDroid

1

È possibile utilizzare

${requestParameters.servicesettings}. 
0

Secondo il JavaDoc of the FreemarkerServlet:

rende tutti richiesta, parametri di richiesta, sessione e contesto servlet attributi ava utilizzabile su modelli tramite le variabili Request, RequestParameters, Session e Application.

Le variabili di ambito sono anche disponibili tramite rilevamento di ambito automatico. Cioè, scrivere Application.attrName, Session.attrName, Request.attrName non è obbligatorio; è sufficiente scrivere attrName e se nessuna variabile di questo tipo è stata creata nel modello, cercherà la variabile in Request, quindi in Session e infine in Application.

Si può semplicemente scrivere:

${attrName} 

per ottenere il valore di un attributo di richiesta (che si potrebbe avere impostato in un filtro di richiesta di servlet utilizzando request.setAttribute('attrName', 'value')

Ha lavorato per me con Freemarker 2.3.27-incubating

Problemi correlati