ids incorrects dans une requête
Bonjour, tout le monde
Cela fait longtemps que je n'ai posté. Surtout parce que je trouvais les solutions à mes problèmes. Mais là je suis dans le brouillard, et cela colle avec ce post.
J'ai une JSP
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
| <div id="body">
<div class="panel">
<h:messages layout="table" styleClass="error"/>
<h:form styleClass="jsfcrud_list_form">
<div class="zoneEditor">
<h3><h:outputText value="#{bundle.affairesEnDevis}"/></h3>
<h:panelGrid columns="1">
<h:outputText value="#{bundle.listAffairesVide}" rendered="#{empty affaire.affaires}"/>
<h:dataTable value="#{affaireControleur.affaires}" var="affair" border="0" cellpadding="2" cellspacing="0" rowClasses="jsfcrud_odd_row,jsfcrud_even_row" rules="all" style="border:solid 1px" rendered="#{not empty affaireControleur.affaires}">
<h:column>
....
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="titre"/>
</f:facet>
<h:commandLink value="#{affair.id}" action="#{affaireControleur.atteindreAffaire}">
<f:param name="idaffaire" value="#{affair.id}"/>
</h:commandLink>
</h:column>
</h:dataTable>
</h:panelGrid>
</div>
</h:form> |
et la méthode de mon controleur
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
| public String atteindreAffaire(){
final String mname = "atteindreAffaire";
logger.entering(cname, mname);
String navigateTo = null;
try {
String numAffaire=this.getParam("idaffaire");
System.out.println(numAffaire);
this.aff = this.affaireBean.findById(numAffaire);
navigateTo="affiche.affaire";
} catch (Exception e) {
addMessage(cname, mname, e);
}
logger.exiting(cname,mname);
return navigateTo;
}
protected String getParam(String param) {
final String mname = "getParam";
logger.entering(cname, mname);
FacesContext context = FacesContext.getCurrentInstance();
Map<String, String> map = context.getExternalContext().getRequestParameterMap();
String result = map.get(param);
logger.exiting(cname, mname, result);
return result;
} |
Mais le souci c'est que dans le Map je vois bien la valeur que j'attend (160020) mais le nom qui lui est associé est totalement incorrecte:
map Map<String,String>[0]=""j_id_id100:j_id_id110:0:j_id_id205 => 1600020"
Je ne vois pas ce que j'ai raté. Quelqu'un a une idée?