繁体   English   中英

如何从其他控制器调用带有requestParameterMap的方法

[英]How can I call a method with requestParameterMap from other controller

我想从其他控制器调用带有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...
    }

只需将要从其他方法重用的代码重构为一个以数据为参数的新方法,以便可以从这两个方法中调用它。

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...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM