Creato da pastuweb.com
Share My Page
My Social Accounts
Account FaceBook Account LinkedIn Account Twitter Account Google Plus Account Git Hub

Il tag:

<jsp:useBean id="nome_attributo" scope="request" type="tipo_attributo" />
 
può essere usato per recuperare l'attributo senza preoccuparsi della parte della inizzializzazione, del cast dello stesso.
Non bisogna neanche scrivere uno scriptlet, come per esempio:
 
<%
String nome_attributo = (String) request.getAttribute("nome_attributo");
%>
 
Tutto questo (request.getAttribute)viene fatto dal codice Spring che ci stà dietro.
 
Quindi, vediamo un Esempio:
 
Metodo situato all'interno di una classe che estende MVCPortlet:
 
public void statoUtente(ActionRequest request, ActionResponse response)
       throws Exception {
 
       long utenteKey = ParamUtil.getLong(request, "resourcePrimKey");
 
       if (Validator.isNotNull(utenteKey)) {
        Utenti utente =
        UtentiLocalServiceUtil.getUtenti(utenteKey);
       
       
        User user = UserLocalServiceUtil.getUser(utenteKey);
        String codStatoLiferay = new String("");
        if(user.getStatus() == WorkflowConstants.STATUS_INACTIVE){
        codStatoLiferay = new String("pause");
}else{
codStatoLiferay = new String("activate");
}
           request.setAttribute("utente", utente);
           request.setAttribute("codStatoLiferay", codStatoLiferay);
           response.setRenderParameter("jspPage", viewStatoUtenteJSP);
       }
}
 
La parte interessante è quella in ROSSO. Cosa faccio? Setto due attributi che verranno poi utilizzati all'interno della JSP settata nella variabile "viewStatoUtenteJSP".
 
Vediamo ora come la JSP recupera e utilizza questi due attributi:
 
<!-- altro codice -->
 
<jsp:useBean id="utente" scope="request" type="com.appuntivari.model.Utenti" />
<jsp:useBean id="codStatoLiferay" scope="request" type="java.lang.String" />
 
<div style="text-align:center;">
<h2 style="color:#FF0000;">
Stato dell'Utente <strong style="color:#000000;">
<%=utente.getCognome() %> <%=utente.getNome() %>
</strong>
</h2>
</div>
 
<div class="portlet-msg-info">
Stato: <img 
src="<%=request.getContextPath() %>/images/<%=codStatoLiferay %>.png" 
style="width:30px;" alt="Stato Utente Liferay" title="Stato Utente Liferay"/>
</div>
 
<!-- altro codice -->
 
Il codice lato JSP rimane notevolmente più pulito.
Average (1 Vote)
The average rating is 5.0 stars out of 5.