1

リダイレクトに問題があります。私はprimefacesとJSF 2.1を使用しています。問題は、JSF 2.1 にはナビゲーション ルールがなく、「faces-redirect=true」と入力できる答えを探していることです。問題は、それが機能せず、その理由がわからないことです。ブラウザは、「No se puede encontrar el caso de navegación 一致する ID デ ビスタ '/Autenticacion/login.xhtml' para la acción {1}' con el resultado '{2}'」と言い続けます。 2 番目の結果を持つ最初のアクションの「/Autenticacion/login.xhtml」のケース。JSF 2.1ではfaces-config.xmlファイルが作成されず、作成してそのアクションのルールを追加しましたが、問題は解決しません。

これらは私のファイルです:

ログインビーン

@ManagedBean(name="controlLogin")
@SessionScoped
public class ControladorLogin implements Serializable{

   public String logIn(){
       //actions
       return "index" //algo tryed index.xhtml or index?faces-redirect=true
   }

PRIMEFACESコマンドボタン

<p:commandButton action="#{controlLogin.logIn}" value="Loguearse" ajax="false"/>

私もcommandLinkで試します

<p:commandLink action="#{controlLogin.logIn}" value="Loguearse" ajax="false"/>

FACES-CONFIG.XML //必要ない場合は削除できます

<navigation-rule>
    <from-view-id>/Autenticacion/login.xhtml</from-view-id>
    <navigation-case>
        <from-action>#{controlLogin.logIn}</from-action>
        <from-outcome>index</from-outcome>
        <to-view-id>/index.xhtml</to-view-id>
    </navigation-case>
</navigation-rule>

誰かがこのリダイレクトを行うのを手伝ってくれるなら...ありがとう!!

4

1 に答える 1

4

実際、JSF 2.x では、ナビゲーション ルールを定義する必要はありません。注釈faces-config.xmlでカバーされていないいくつかの特別なケース(例: custom )だけで、まったく必要ありません。ExceptionHandlerFactory

使用return "index?faces-redirect=true"はまったく問題ありません。defaultではなく、ある xhtml から別の xhtml に移動faces-redirect=trueすることを意味します。redirect forward

転送とリダイレクトの違い

この場合、index.xhtmlページがアクセスしようとしているページと同じディレクトリにあることを確認してください。

それ以外の場合、indexページが別のディレクトリにある場合は、次のように先頭にスラッシュを付けて絶対パスを指定する必要があります。/"/indexFolder/index?faces-redirect=true"

于 2012-05-06T21:05:28.943 に答える