f:viewAction 不要调用 action



我使用Weblogic服务器12.1.2,JSF 2, Mojarra 2.2.4,我有一个页面中的下一个代码:

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://xmlns.jcp.org/jsf/html"
    xmlns:f="http://xmlns.jcp.org/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui"
    xmlns:c="http://java.sun.com/jsp/jstl/core">
    <f:metadata>
        <f:viewAction action="#{sessionBean.solicitud()}" />
    </f:metadata>
    <h:body>
        Solicitud: '#{param.id}'
        From: '#{param.from}'
        <br />
    </h:body>
</html>

SessionBean有下一个方法:

public String solicitud() {
    System.out.println("n12n");
    Long id = getRequestParam("id") != null ? Long.valueOf(getRequestParam("id")) : 0;
    String from = getRequestParam("from") != null ? getRequestParam("from") : "";
    System.out.println("*********** PASA POR AQUI 1 ***********************");
    if(id != null && id > 0){
        if(StringUtils.isNotBlank(from) && from.equals("informes")){
            System.out.println("*********** PASA POR AQUI 2 ***********************");
            return solicitud.cargarSolicitudInforme(id);
        }
        else{
            System.out.println("*********** PASA POR AQUI 4 ***********************");
            return solicitud.cargarSolicitud(id);
        }
    }
    else{
        System.out.println("*********** PASA POR AQUI 6 ***********************");
        return home();
    }
}

我将命名空间xmlns:http://java.sun.com/jsf/core更改为xmlns:http://xmlns.jcp.org/jsf/core

如果我在VMware vFabric tc Server v2.5上运行这个应用程序,应用程序运行正常,但如果我在Weblogic服务器上运行它,日志不显示错误跟踪,但方法永远不会执行。

我做错了什么?

谢谢。

已解决。

问题是Weblogic服务器上的默认jsf库不识别f:viewAction。解决方案是将正确的jsf库作为共享jsf库(jsf-impl-2.2.4.jar和jsf-api-2.2.4.jar,在我的情况下)包含在weblogic_domains/server_name/lib文件夹中,并在部署的war中删除它们。

相关内容

  • 没有找到相关文章

最新更新