2013-11-27 51 views
1

我想從其他控制器調用帶有requestParameterMap的方法。我怎樣才能調用這個方法。我想在不修改的情況下重用該方法。如何從其他控制器調用帶有requestParameterMap的方法

第一控制器:

public void visualizarPartida(){ 
refNumPart ='data' 
estado = 'data' 
//ETC......... 
partidaDirectaController.visualizarPartidaDetalle(?????????) /*doubt*/ 

} 

第二個控制器:

@ManagedBean 
@SessionScoped 
public class PartidaDirectaController { 

public void visualizarPartidaDetalle() { 
    Map<String, String> params = FacesContext.getCurrentInstance() 
    .getExternalContext().getRequestParameterMap(); 
    PartidaDirectaResultBean obj = new PartidaDirectaResultBean(); 
    obj.setRefNumPart(params.get("refNumPart")); 
    obj.setEstado(params.get("estado")); 
     //ETC... 
    } 

回答

1

只要重構你想從其他方法(S)重用到取數據作爲參數的新方法的代碼,以便您可以從兩種方法中調用它。

public void visualizarPartida() { 
    refNumPart = "data"; // Please write code which compiles. Also in questions! 
    estado = "data"; 
    partidaDirectaController.visualizarPartidaDetalle(refNumPart, estado); 
} 
public void visualizarPartidaDetalle() { 
    Map<String, String> params = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap(); 
    visualizarPartidaDetalle(params.get("refNumPart"), params.get("estado")); 
} 

public void visualizarPartidaDetalle(String refNumPart, String estado) { 
    PartidaDirectaResultBean result = new PartidaDirectaResultBean(); 
    result.setRefNumPart(refNumPart); 
    result.setEstado(estado); 
    // Etc... 
} 
相關問題