redirection d'une page JSF
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| 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") ;
}
catch(Exception e){
e.printStackTrace();
return null;
}
} |
La classe UserENtity
Code:
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 39
| @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:
1 2 3 4 5 6 7 8 9 10
| 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:
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:
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> |