簡體   English   中英

f:viewAction不要調用動作

[英]f:viewAction don't invoke 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("\n12\n");
    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();
    }
}

我將namepaces 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文件夾中,然后將其刪除。展開戰爭。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM