2009-07-15 7 views
0

J'ai une page avec le lien http://localhost:8080/Test/Page.faces?id=asdasdasd La page a 2 champ de texte et un bouton, après l'utilisateur touche dans les détails et cliquez sur soumettre, cela fonctionne bien lorsque vous cliquez sur le bouton soumettre, l'ID me retournera la valeur exacte, mais si l'utilisateur ne saisit jamais la valeur et cliquez sur Envoyer la validation sera invoquée et cliquez à nouveau sur le bouton à nouveau l'id retour null? Comment résoudre ce problème n'importe qui peut aider?JSF Lien Paramètre get null

+0

Pouvez-vous inclure un exemple de code/Markup? Je ne suis pas entièrement sûr de savoir exactement quel est votre problème. – Drew

Répondre

0

Oui, lorsque l'utilisateur clique sur le bouton, le navigateur envoie une nouvelle requête au serveur. Cette nouvelle requête n'a pas le? Id = asdasdasd en tant que partie de celui-ci. La solution la plus simple que je peux penser est de stocker cette valeur dans un champ de texte caché sur la page. Vous pouvez utiliser du javascript pour remplir la valeur.

Donc, si vous avez un < h: id = valeur cachée "idHidden" = "# {mybean.idHidden}"/> sur votre JSP, peut-être un peu de javascript comme ceci:

<script type='text/javascript'>  
    function gup(name) 
    { 
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); 
    var regexS = "[\\?&]"+name+"=([^&#]*)"; 
    var regex = new RegExp(regexS); 
    var results = regex.exec(window.location.href); 
    if(results == null) 
     return ""; 
    else 
     return results[1]; 
    } 

    if(gup('id') != "") { 
    document.forms[0].idHidden.value = gup('id'); 
    } 

</script> 

refuge I pas vérifié ce code pour les erreurs, mais l'idée est la première fois que la page se charge, la valeur de 'id' est stockée dans un champ de saisie caché. Ce champ est lié à votre bean géré de sorte que la valeur est conservée dans les actualisations de page. Référencez simplement la valeur d'identifiant stockée sur le bean (comme idHidden dans l'exemple ci-dessus) au lieu du paramètre request.

BTW: J'étole la fonction GUP de http://www.netlobo.com/url_query_string_javascript.html

Nick

Questions connexes