tutorial - struts2 taglib



Come passare un parametro da una classe di azioni a un JSP con Struts2? (1)

Proverò a spiegare la mia domanda con un esempio. Sto creando una pagina di accesso. Passo un nome utente e una password dalla pagina indice a una classe azione per la verifica. Se tutto è a posto, quindi usando strus.xml, apro un nuovo JSP. Ora, non voglio visualizzare il nome dell'utente che ha appena effettuato l'accesso sul nuovo JSP. Ecco un esempio di struts.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <package name="login" extends="struts-default">
        <action name="tryLogin" class="action.LoginAction">
            <result name="success" >/success.jsp</result>
            <result name="login">/login.jsp</result>
            <result name="input">/login.jsp</result>
        </action>
    </package>
</struts>

1 Crea semplicemente la variabile "userLogin" nella classe Action con getter e setter

public LoginAction extends ActionSupport {

  private String userLogin;

  public String execute{
    ... some code.....
  }

  public String getUserLogin(){
    return userLogin;
  }

  public void setUserLogin(String login){
    this.userLogin= login;
  }
}

Struts2 ParametersInterceptor otterrà il valore del parametro dalla richiesta e lo imposterà automaticamente al parameer dell'azione.

2 Per leggere questo parametro nella pagina jsp del risultato dell'azione, utilizzare solo i tag struts

  <s:property value="userLogin"/>, 
  <s:textfield name="userLogin"/>, 

eccetera..