Bonjour,
j'essaye de faire une redirection d'une page JSF lors d'un click sur le bouton login... Mais je sais pas comment la faire.. quelqu'un peut m'aider???
j'essaye d'afficher la page /untitled2.jsf lors s'un clik sur le bouton login apres une vérification que l'utilisateur se trouve dans ma base de donnée..j'utilise la JEE sous jdeveloper 12C
une erreur s'affiche (JBO-25077: Nom id introuvable dans l'objet donné : success.) quelqu’un peut m'aidez SVP
voici mon code :
la fonction login au niveau de mon sessionbean
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 public String authentification(String login, String pwd) {
 
        try{
            Query query;
            query = em.createQuery("select o from UserEntity o where " + " o.login = :LOGIN AND o.pwd = :PWD");
            query.setParameter("LOGIN",login);
            query.setParameter("PWD",pwd);
 
 
                  query.getSingleResult();
 
 
            return  ("success") ;  
 
 
        }
La classe UserENtity
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
@Entity
@NamedQueries({ @NamedQuery(name = "UserEntity.findAll", query = "select o from UserEntity o") })
@Table(name = "USERTABLE")
public class UserEntity implements Serializable {
    private static final long serialVersionUID = 6268646956174751907L;
    @Id
    private Integer id;
    @Column(name = "PWD_USER")
    private String pwd;
    @Column(name = "LOGIN_USER")
    private String login;
 
    public UserEntity() {
    }
 
    public Integer getId() {
        return id;
    }
 
    public void setId(Integer id) {
        this.id = id;
    }
 
    public String getPwd() {
        return pwd;
    }
 
    public void setPwd(String pwd) {
        this.pwd = pwd;
    }
 
    public String getLogin() {
        return login;
    }
 
    public void setLogin(String login) {
        this.login = login;
    }
Ma fonction loginaction au niveau backing bean
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
public String loginaction() {
 
        BindingContainer bindings = getBindings();
        OperationBinding operationBinding = bindings.getOperationBinding("authentification");
        Object result = operationBinding.execute();
        if (!operationBinding.getErrors().isEmpty()) {
            return "success";
        }
        return "fail";
ma page login.jsf
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE html>
<f:view xmlns:f="http://java.sun.com/jsf/core" xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
    <af:document title="login.jsf" id="d1" binding="#{backingBeanScope.backing_login.d1}">
        <af:messages binding="#{backingBeanScope.backing_login.m1}" id="m1"/>
        <af:form id="f1" binding="#{backingBeanScope.backing_login.f1}">
            <af:panelFormLayout id="pfl1" binding="#{backingBeanScope.backing_login.pfl1}">
                <af:inputText value="#{bindings.login.inputValue}" label="#{bindings.login.hints.label}"
                              required="#{bindings.login.hints.mandatory}"
                              columns="#{bindings.login.hints.displayWidth}"
                              maximumLength="#{bindings.login.hints.precision}"
                              shortDesc="#{bindings.login.hints.tooltip}" id="loginfield"
                              binding="#{backingBeanScope.backing_login.it1}">
                    <f:validator binding="#{bindings.login.validator}"/>
                </af:inputText>
                <af:inputText value="#{bindings.pwd.inputValue}" label="#{bindings.pwd.hints.label}"
                              required="#{bindings.pwd.hints.mandatory}" columns="#{bindings.pwd.hints.displayWidth}"
                              maximumLength="#{bindings.pwd.hints.precision}" shortDesc="#{bindings.pwd.hints.tooltip}"
                              id="it2" binding="#{backingBeanScope.backing_login.it2}">
                    <f:validator binding="#{bindings.pwd.validator}"/>
                </af:inputText>
                <af:button text="authentification"
                           disabled="#{!bindings.authentification.enabled}" id="b1"
                           binding="#{backingBeanScope.backing_login.b1}"
                           action="#{backingBeanScope.backing_login.loginaction}" />
            </af:panelFormLayout>
        </af:form>
    </af:document>
    <!--oracle-jdev-comment:auto-binding-backing-bean-name:backing_login-->
</f:view>
Mon fichier faces-config.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="windows-1256"?>
<faces-config version="2.1" xmlns="http://java.sun.com/xml/ns/javaee">
  <application>
    <default-render-kit-id>oracle.adf.rich</default-render-kit-id>
  </application>
  <navigation-rule>
    <from-view-id>/login.jsf</from-view-id>
    <navigation-case>
      <from-action>#{backing_login.loginaction}</from-action>
      <from-outcome>success</from-outcome>
      <to-view-id>/untitled2.jsf</to-view-id>
      <redirect /> 
    </navigation-case>
    <navigation-case>
      <from-action>#{backing_login.loginaction}</from-action>
      <from-outcome>fail</from-outcome>
      <to-view-id>/untitled3.jsf</to-view-id>
      <redirect /> 
    </navigation-case>
  </navigation-rule>
</faces-config>