JSF - f: param
f: param tag fornisce le opzioni per passare parametri a un componente o passare parametri di richiesta.
Tag JSF
Passa il parametro a un componente dell'interfaccia utente
<h:outputFormat value = "Hello {0}!.">
<f:param value = "World" />
</h:outputFormat>
Passare il parametro di richiesta
<h:commandButton id = "submit"
value = "Show Message" action = "#{userData.showResult}">
<f:param name = "username" value = "JSF 2.0 User" />
</h:commandButton>
Attributi dei tag
S.No | Attributo e descrizione |
---|---|
1 | id Identificatore di un componente |
2 | binding Riferimento al componente che può essere utilizzato in un backing bean |
3 | name Un nome facoltativo per questo componente del parametro |
4 | value Il valore memorizzato in questo componente |
Applicazione di esempio
Creiamo un'applicazione JSF di prova per testare il tag precedente.
Passo | Descrizione |
---|---|
1 | Creare un progetto con un nome helloworld sotto un pacchetto com.tutorialspoint.test come spiegato nel capitolo JSF - Prima applicazione . |
2 | Modifica home.xhtml come spiegato di seguito. Mantieni invariato il resto dei file. |
3 | Crea result.xhtml nella directory webapps come spiegato di seguito. |
4 | Creare UserData.java come bean gestito nel pacchetto com.tutorialspoint.test come spiegato di seguito. |
5 | Compilare ed eseguire l'applicazione per assicurarsi che la logica aziendale funzioni secondo i requisiti. |
6 | Infine, crea l'applicazione sotto forma di file war e distribuiscila in Apache Tomcat Webserver. |
7 | Avvia la tua applicazione web utilizzando l'URL appropriato come spiegato di seguito nell'ultimo passaggio. |
UserData.java
package com.tutorialspoint.test;
import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean(name = "userData", eager = true)
@SessionScoped
public class UserData implements Serializable {
private static final long serialVersionUID = 1L;
public String data = "1";
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
public String showResult() {
FacesContext fc = FacesContext.getCurrentInstance();
Map<String,String> params =
fc.getExternalContext().getRequestParameterMap();
data = params.get("username");
return "result";
}
}
home.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns = "http://www.w3.org/1999/xhtml">
<head>
<title>JSF Tutorial!</title>
</head>
<body>
<h2>f:param example</h2>
<hr />
<h:form>
<h:outputFormat value = "Hello {0}!.">
<f:param value = "World" />
</h:outputFormat>
<br/>
<h:commandButton id = "submit"
value = "Show Message" action = "#{userData.showResult}">
<f:param name = "username" value = "JSF 2.0 User" />
</h:commandButton>
</h:form>
</body>
</html>
risultato.xhtml
<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns = "http://www.w3.org/1999/xhtml"
xmlns:f = "http://java.sun.com/jsf/core"
xmlns:h = "http://java.sun.com/jsf/html"
xmlns:ui = "http://java.sun.com/jsf/facelets">
<head>
<title>JSF Tutorial!</title>
</head>
<h:body>
<h2>Result</h2>
<hr />
#{userData.data}
</h:body>
</html>
Una volta che sei pronto con tutte le modifiche apportate, compiliamo ed eseguiamo l'applicazione come abbiamo fatto nel capitolo JSF - Prima applicazione. Se tutto va bene con la tua applicazione, questo produrrà il seguente risultato.
stampa Show Message e vedrai il seguente risultato.