IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Wicket Java Discussion :

Charset dans PageParameters


Sujet :

Wicket Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Prue
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 101
    Par défaut Charset dans PageParameters
    Bonjour,

    J'ai besoin de passer des string contenant des caractères accentués dans des PageParameters. Malheureusement à l'arrivée, mes caractères accentués prennent un coup. Je me doute qu'il s'agit d'un problème de charset mais je n'arrive pas à trouver lequel.

    Voici mon code :
    D'une part :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PageParameters params = new PageParameters();
    params.add("textSearch", "carré");
    setResponsePage(SearchListPage.class, params);
    D'autre part dans la classe SearchListPage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String textSearch = ((String[]) parameters.get("textSearch"))[0];
    Le deuxième code me renvoie "carré" et non "carré".

    Que faire ?

    Merci d'avance pour votre aide.

  2. #2
    Membre émérite

    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    bonsoir Prue

    Hum, ce code a t il été vérifié et/ou utilisé dans l'état indiqué ?

    En effet, il est passé d'un côté un objet de type String, et de l'autre on tente de récupérer un tableau de String, cad un String[]... Chez moi cela donne une ClassCastException.

    Cela devrait plutôt être quelque chose du genre, AMHA :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    PageParameters params = new PageParameters();
    params.add("textSearch", "carré");
    setResponsePage(SearchListPage.class, params);
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String textSearch = (String) parameters.get("textSearch");
    En passant, il est nécessaire de passer par des PageParameters que si on veut récupérer des valeurs données par une URL. Si on passe d'une page à une autre côté serveur uniquement (et donc en Java uniquement), on peut très bien faire un constructeur du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public MyPage(String textSearch){}
    Après, bien sûr, cette page n'est pas bookmarkable, mais tout dépend du besoin.

    ++
    joseph

  3. #3
    Membre confirmé Avatar de Prue
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 101
    Par défaut
    Bonjour Joseph,

    Tout d'abord, merci pour votre aide.

    Concernant le bout de code, il est utilisé tel quel et fonctionne (mis à part mon problème de charset). Pour moi aussi la transformation du string à un string[] est un mystère.

    Ensuite, je ne comprends pas comment accéder à une nouvelle page en appelant simplement son constructeur sans passer par un setResponsePage qui me transférera sur celle-ci.

    Merci d'avance pour vos réponses.

  4. #4
    Membre émérite

    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    setResponsePage fonctionne aussi avec une instance de Page, cf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setResponsePage(Page page)
    du coup, il suffit d'écrire (pseudo code) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String searchedString = "foo";
    setResponsePage(new SearchListPage(searchedString));
    concernant l'origine du String[], il faudrait vérifier quelle page précisément appelle SearchListPage et voir comment elle procède.

    je doute, AMHA, d'un bug wicket, la mailing list et le jira n'ayant rien retourné de significatif. Combien même, ceci dit, il faudrait une démo du bug pour qu'il puisse être traité.

  5. #5
    Membre confirmé Avatar de Prue
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 101
    Par défaut
    En tout cas merci beaucoup, ça a résolu mon problème

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/08/2008, 12h30
  2. encoding, charset dans les sources
    Par jean-jacques varvenne dans le forum Général Python
    Réponses: 6
    Dernier message: 01/02/2008, 18h02
  3. Gestion de différents CHARSET dans un StringGrid
    Par Zepeq dans le forum Composants VCL
    Réponses: 4
    Dernier message: 29/08/2007, 11h22
  4. Charset dans mes arguments POST ?
    Par bombseb dans le forum C#
    Réponses: 2
    Dernier message: 12/03/2007, 20h18
  5. Charset dans un .bat avec mkisofs ?
    Par Neilos dans le forum Autres Logiciels
    Réponses: 9
    Dernier message: 25/02/2006, 18h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo