0

私は 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();
    }
}

名前空間 xmlns: http://java.sun.com/jsf/coreを xmlns: http://xmlns.jcp.org/jsf/coreに変更しました

このアプリケーションを VMware vFabric tc Server v2.5 で実行すると、アプリは問題なく動作しますが、Weblogic サーバーで実行すると、ログにエラー トレースは表示されませんが、メソッドは実行されません。

私は何を間違っていますか?

ありがとう。

4

1 に答える 1

0

解決しました。

問題は、Weblogic サーバーのデフォルトの jsf ライブラリが f:viewAction を認識しないことでした。解決策は、正しい jsf ライブラリを共有 jsf ライブラリ (私の場合は jsf-impl-2.2.4.jar および jsf-api-2.2.4.jar) として weblogic_domains/server_name/lib フォルダに含め、それらを削除することでした。配備された戦争。

于 2014-08-12T10:16:05.600 に答える