Formulaire JSF

janfran3 Messages postés 2 Date d'inscription mercredi 2 décembre 2009 Statut Membre Dernière intervention 25 avril 2010 - 18 févr. 2010 à 20:31
janfran3 Messages postés 2 Date d'inscription mercredi 2 décembre 2009 Statut Membre Dernière intervention 25 avril 2010 - 18 févr. 2010 à 21:13
Bonjour,
Dans le cadre de mes études, je dois réaliser un formulaire avec les technologies JPA, EJB et JSF tout ça dans le contexte JEE6.
J'ai déjà créé les entitybeans, les "stateless" et je suis actuellement dans la partie web avec JSF et les managed bean.
Le formulaire doit permettre une recherche de matériel sur plusieurs critères (dénomination, marque, ...) J'ai donc créé un managed bean dont les champs privés liés aux getters et setters correspondants me permettent d'alimenter et de rechercher le texte dans les inputs de mon formulaire.J'ai ajouté aussi une méthode doSearch qui lorsqu'elle sera complète me permettra d'aller rechercher par jpql les matériels correspondant aux mots-clés entrés dans les inputs du formulaire.
En attendant, elle va juste chercher tous les matériels dans l'entity Asset.
Elle le fait d'ailleurs correctement mais le problème est que je remarque que lorsque je mets préalablement des valeurs dans mes inputs, que je stoppe le debug au moment ou je fais le doSearch et que je vérifie si elles se retrouvent bien dans les membres correspondant du managed bean, Ce n'est pas le cas!!!
Certains ont une valeur nulle, 2 autres ont une valeur correspondant à un input n'ayant rien à voir,...
Bref je ne comprends pas pourquoi la correspondance entre les inputs et les membres du managed bean n'est pas respectée???

Voici le managed bean en question (sans les getters et setters qui prendraient trop de place ici) puis le code du formulaire du xhtml.

Je vous remercie d'avance pour votre aide.



@ManagedBean//(name= "AssetSearch")
@RequestScoped
public class AssetSearch {

@EJB
private AssetEJB assetSearchEjb;//stateless
private List assetSearchList;//Liste d'objets entity Asset
private Asset assetSearch;// objet entity Asset
private String strDenom;
private String strBrand;
private String strModel;
private String strType;
private String strSerial;
private String strActive;
private String strDate;
private String strBuilding;
private String strFloor;
private String strLocal;
private String strDescr;

public AssetSearch() {
assetSearch = new Asset();
assetSearchList = new ArrayList();
}

public String doSearch(){
assetSearchList = assetSearchEjb.findThis("select a from Asset a");
return "asset.xhtml";
}


XHTML:

<h:form>
<h:outputLabel value="Denomination"/> |
<h:inputText value ="#{assetSearch.strDenom}"/>,

----

Marque |
<h:inputText value= "#{assetSearch.strBrand}"/>,

----

Modele |
<h:inputText value ="#{assetSearch.strDenom}"/>,

----

Type |
<h:inputText value= "#{assetSearch.strDenom}"/>,

----

Numero de Serie |
<h:inputText value ="#{assetSearch.strSerial}"/>,

----

Actif? |
<h:selectOneRadio value= "#{assetSearch.strActive}" layout="lineDirection" border="0">
<f:selectItem itemValue="true" itemLabel="Actif :"/>
<f:selectItem itemValue="false" itemLabel="Non Actif"/>
</h:selectOneRadio>,

----

Date d'achat du materiel |
<h:inputText value ="#{assetSearch.strDate}"/>,

----

Batiment |
<h:inputText value= "#{assetSearch.strBuilding}"/>,

----

Etage |
<h:inputText value ="#{assetSearch.strFloor}"/>,

----

Local |
<h:inputText value= "#{assetSearch.strLocal}"/>,

----

Description |
<h:inputText value ="#{assetSearch.strDescr}"/>,

----

<h:commandButton action="#{assetSearch.doSearch}" value="Save"/> |

</h:form>

1 réponse

janfran3 Messages postés 2 Date d'inscription mercredi 2 décembre 2009 Statut Membre Dernière intervention 25 avril 2010
18 févr. 2010 à 21:13
Désolé, grosse erreur d'inattention de ma part!!!
J'ai mis 3 fois le même champ dans 3 inputs différents...
Je crois que je vais aller dormir

A plus
0