|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2005
Città: Resana - TV
Messaggi: 960
|
[JSP][JSF] Passare il valore di un parametro della querystring ad un bean
Ciao a tutti,
da ieri sto cercando di "imparare" ad usare le JSF, purtroppo sono già arrivato ad un punto morto. Vi faccio un esempio: ho una JSP che rappresenta una lista di documenti (di diversi tipi) di una data pratica. Codice:
<f:view>
<h:form>
<ul>
<li>
<h:commandLink action="#{controllerDocumenti.caricaDocumentoA}">
<h:outputText value="documento A" />
</h:commandLink>
</li>
<li>
<h:commandLink action="#{controllerDocumenti.caricaDocumentoB}">
<h:outputText value="documento B" />
</h:commandLink>
</li>
...
<li>
<h:commandLink action="#{controllerDocumenti.caricaDocumentoZ}">
<h:outputText value="documento Z" />
</h:commandLink>
</li>
</ul>
</h:form>
</f:view>
Ma come posso passare al documentController il codice della pratica "aperta" visto che suddetto codice arriva via querystring alla pagina della lista. Se io mettessi un campo inputHidden in questo modo Codice:
<h:inputHidden value="<%= request.getParameter("codicePratica") %>" />
Codice:
<h:inputHidden value="#{documentController.codicePratica}" />
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2005
Città: Resana - TV
Messaggi: 960
|
1up
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2005
Città: Resana - TV
Messaggi: 960
|
Ollè, trovato!
Scompongo il problema esposto in precedenza in due sottoproblemi in modo da poter fornire una spiegazione migliore. Primo problema: recuperare il valore di un parametro dell'URL Per accedere ad un parametro dell'URL ci sono due modi, uno dichiarativo e uno non. Il primo è usare la variabile "param" che mette a disposizione tutti i parametri presenti sulla querystring. Es: #{param.NomeParametro} Mentre per quanto riguarda il secondo bisogna scrivere due righe di codice: Codice:
FacesContext fc = FacesContext.getCurrentInstance();
String codicePratica = (String) fc.getExternalContext().getRequestParameterMap().get("codicePratica");
Secondo problema: assegnare al membro del bean il valore recuperato Per assegnare al membro del bean il valore recuperato, ho creato una managed property relativa al bean nel faces-config.xml in modo da poterle assegnare un valore: Codice:
<managed-bean>
<managed-bean-name>controllerDocumenti</managed-bean-name>
<managed-bean-class>controllers.ControllerDocumenti</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>codicePratica</property-name>
<property-class>java.lang.String</property-class>
<value>#{param.codicePratica}</value>
</managed-property>
</managed-bean>
'iao |
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Sep 2010
Messaggi: 1
|
scusa se rispondo a questo vecchio post, ma sto provando ad applicare una cosa simile a quella fatta qui e non ci riesco, puoi aiutarmi?
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:23.



















