Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1418 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  MessageFormat ça suxx des ours

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

MessageFormat ça suxx des ours

n°218995
--greg--
Posté le 23-09-2002 à 19:23:01  profilanswer
 

:ouch:  :ouch:

import java.text.MessageFormat;
 
/**
 *  
 *  
 * @author     --greg--
 * @author     $Author: $ (last edit)
 * @version    $Revision:  $
 * @created    Sep 23, 2002
 */
 
public class TestMessageFormatQuote {
    public static void main(String[] args) {
        String test = "bla'bla{0}bla";
 
        String arg[] = { "YO" };
 
        String result = MessageFormat.format(test, arg);
 
        System.out.println("test = " + test);
        System.out.println("result = " + result);
    }
}


 

Citation :

In strings, single quotes can be used to quote the "{" (curly brace) if necessary. A real single quote is represented by ''.


 
 
C'est une raison pour virer mes single quotes boordaÿl!!??? [:toad666]


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
mood
Publicité
Posté le 23-09-2002 à 19:23:01  profilanswer
 

n°218999
antp
Super Administrateur
Champion des excuses bidons
Posté le 23-09-2002 à 20:16:54  profilanswer
 

bhen si, tu dois mettre deux ' pour en avoir une vraie.. d'après ce que je comprends au message :??:


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°219000
--greg--
Posté le 23-09-2002 à 20:20:46  profilanswer
 

ouais mais ça suxxe:)


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°219003
gm_superst​ar
Appelez-moi Super
Posté le 23-09-2002 à 20:25:08  profilanswer
 

mailto:abuse@java.sun.com

n°219006
--greg--
Posté le 23-09-2002 à 20:28:32  profilanswer
 

gm_superstar a écrit a écrit :

mailto:abuse@java.sun.com



ouais c clair! :fou:


Message édité par --greg-- le 23-09-2002 à 20:28:40

---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°219009
benou
Posté le 23-09-2002 à 20:30:21  profilanswer
 

--greg-- a écrit a écrit :

ouais mais ça suxxe:)




' -> ca rulez
'' -> ca sux
 :??:  
 :heink:  
 :sarcastic:  
 :pt1cable:  
 :o  
 [:tonton_benou]

n°219012
--greg--
Posté le 23-09-2002 à 20:34:49  profilanswer
 

benou j'avoue ne pas comprendre tout la portée de ton message :D


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°219019
benou
Posté le 23-09-2002 à 20:43:38  profilanswer
 

--greg-- a écrit a écrit :

benou j'avoue ne pas comprendre tout la portée de ton message :D




rholala ....
 
allez, une traduction exprès pour toi :
 
tu trouve que ...
' -> ca rulez
... mettre un quote c'est bien ...
'' -> ca sux
... alors qu'en mettre deux c'est nul ...
 :??:  
... c'est ca ? ...
 :heink:  
... t'es bizare toi ! ...
 :sarcastic:  
... vraiment t'as de ces idées ...
 :pt1cable:  
... des idées de oufs, je vous dis ! ...
 :o  
... rhooooo vraiment, critiquer java pour ca ...
 [:tonton_benou]
... java ca se critique pas : c'est bien !
 
ca me parraissait clair pourtant ... :D


Message édité par benou le 23-09-2002 à 20:44:19
n°219020
lorill
Posté le 23-09-2002 à 20:44:51  profilanswer
 

mouahahahahaha  :D

n°219023
--greg--
Posté le 23-09-2002 à 20:50:06  profilanswer
 

arf:))
 
nan mais bon
quand tu perds 3h à pester contre le code de qqun d'autre et qu'au bout du compte tu te rends compte que c'est parce que ce [:toad666] utilile MessageFormat et que tu découvres que MessageFormat vire les ' dans tes Strings... surtout que j'ai une tripatouillée de Strings (des XPATH pour tout te dire) que j'emploie a different endroits. J'ai pris l'habitude d'y utiliser des ' pour arreter de me faire chier à devoir échapper les " là dedans. Et le truc de l'autre là dont j'ai eu besoin ben j'avais des xpath à lui passer, et on se mangeait des null pointer et tout ça... (Oui parce que mossieur gère superbement les exceptions... un vrai plaisir - sans System.out.println partout + debugger j'aurais jamais trouvé!)
 
 :gun:


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
mood
Publicité
Posté le 23-09-2002 à 20:50:06  profilanswer
 

n°219024
gfive
Posté le 23-09-2002 à 20:51:18  profilanswer
 

nan, nan, je suis d'accord, MessageFormat pue du rond comme un diplodocus diharéique qui se néglige!! En plus, tu peux mettre que 10 {}, et c'est chiant Ouala....C'est pas argumenté, je sais, mais cette classe me fait chier depuis trop longtemps..

n°219026
benou
Posté le 23-09-2002 à 20:54:36  profilanswer
 

je comprend mieux :)
 
mais comme dirait tonton, "c'est parce que y en a qui codent avec les pieds que java il faut critiquer" :D

n°219029
benou
Posté le 23-09-2002 à 20:55:24  profilanswer
 

gfive a écrit a écrit :

nan, nan, je suis d'accord, MessageFormat pue du rond comme un diplodocus diharéique qui se néglige!! En plus, tu peux mettre que 10 {}, et c'est chiant Ouala....C'est pas argumenté, je sais, mais cette classe me fait chier depuis trop longtemps..




je sais pas je l'ai jamais utilisé  :o

n°219033
--greg--
Posté le 23-09-2002 à 20:57:03  profilanswer
 

gfive a écrit a écrit :

nan, nan, je suis d'accord, MessageFormat pue du rond comme un diplodocus diharéique qui se néglige!! En plus, tu peux mettre que 10 {}, et c'est chiant Ouala....C'est pas argumenté, je sais, mais cette classe me fait chier depuis trop longtemps..



belle métaphore :o
 


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°219208
darklord
You're welcome
Posté le 24-09-2002 à 09:31:26  profilanswer
 

--greg-- a écrit a écrit :

arf:))
 
nan mais bon
quand tu perds 3h à pester contre le code de qqun d'autre et qu'au bout du compte tu te rends compte que c'est parce que ce [:toad666] utilile MessageFormat et que tu découvres que MessageFormat vire les ' dans tes Strings... surtout que j'ai une tripatouillée de Strings (des XPATH pour tout te dire) que j'emploie a different endroits. J'ai pris l'habitude d'y utiliser des ' pour arreter de me faire chier à devoir échapper les " là dedans. Et le truc de l'autre là dont j'ai eu besoin ben j'avais des xpath à lui passer, et on se mangeait des null pointer et tout ça... (Oui parce que mossieur gère superbement les exceptions... un vrai plaisir - sans System.out.println partout + debugger j'aurais jamais trouvé!)
 
 :gun:  




 
je précise que je ne suis PAS la personne en question [:ddr555]


---------------
Just because you feel good does not make you right
n°219274
BifaceMcLe​OD
The HighGlandeur
Posté le 24-09-2002 à 10:48:02  profilanswer
 

Pour info, ce n'est pas 10, mais 6 paramètres maxi que tu peux utiliser dans MessageFormat. :sarcastic:  
Et je suppose que les concepteurs de cette classe ont prévu un échappement sur les apostrophes pour pouvoir imprimer la chaîne "{0}" sans que celle-ci soit interprétée comme "la valeur du premier argument".
 
Il n'en reste pas moins que le principe de cette classe est incroyablement souple et puissant. Pour l'avoir utilisé (le principe, pas toujours la classe), je ne comprends pas pourquoi il est si peu utilisé par les programmeurs Java, surtout chez ceux qui doivent générer des pelletées de HTML ou XML. Ca simplifierait et éclaircierait leur code d'une manière incoyable (sans compter la facilité de maintenance : il n'est plus forcément nécessaire de modifier le code Java quand le HTML ou le XML change, si le texte du format est placé dans un fichier de ressources).
 
Mais puisque cette classe a des limites rapidement atteintes, rien ne t'empêche d'en écrire une qui ferait globalement la même chose, mais sans l'échappement des apostrophes et sans limitation du nombre de paramètres. Ce n'est pas très compliqué (dans les 200-300 lignes de code avec un bon Javadoc).
 
J'avais fait ça dans le temps (malheureusement, le code est copyrighté), et même, cette classe était autrement plus puissante : les paramètres pouvaient eux-mêmes être des tableaux ou des collections ou des tableaux, que le format pouvait parcourir. Avec ça, il n'y avait rien de plus facile que de fabriquer une liste séparée par des virgules, par exemple, à partir d'un tableau ou d'une collection d'objets en argument.
Tous les programmeurs de mon équipe, une fois qu'ils y avaient goûté, ne pouvaient plus s'en passer...
 
edit> L'orthographe correcte pour l'affection du diplodocus est "diarrhéique".  :non:


Message édité par BifaceMcLeOD le 24-09-2002 à 10:51:54
n°219328
--greg--
Posté le 24-09-2002 à 12:08:11  profilanswer
 

ben oui et alors?  :sarcastic: j'ai bien le droit de me défouler nan?


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°219329
El_gringo
Posté le 24-09-2002 à 12:18:21  profilanswer
 

Greg, ça n'a pas grand chose à voir, mais j'ai vu ds la classe que t'as posté que ton template de classe (dans Idea), est comme ça :

/**  
*  
*  
* @author     --greg--  
* @author     $Author: $ (last edit)  
* @version    $Revision:  $  
* @created    Sep 23, 2002  
*/


 
"$Author: $" et "$Revision:  $" sot remplacés par quoi ? comment tu paramètre ça ?

n°219331
--greg--
Posté le 24-09-2002 à 12:21:50  profilanswer
 

El_Gringo a écrit a écrit :

Greg, ça n'a pas grand chose à voir, mais j'ai vu ds la classe que t'as posté que ton template de classe (dans Idea), est comme ça :

/**  
*  
*  
* @author     --greg--  
* @author     $Author: $ (last edit)  
* @version    $Revision:  $  
* @created    Sep 23, 2002  
*/


 
"$Author: $" et "$Revision:  $" sot remplacés par quoi ? comment tu paramètre ça ?



c'est remplacé respectivement par le username et le n° de version avec cvs


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°219332
El_gringo
Posté le 24-09-2002 à 12:24:34  profilanswer
 

--greg-- a écrit a écrit :

c'est remplacé respectivement par le username et le n° de version avec cvs




 
haaaa, j'me doutais qu'il y avait du CVS derrière ça...
Merci.

n°219568
gfive
Posté le 24-09-2002 à 16:52:26  profilanswer
 

BifaceMcLeOD a écrit a écrit :

Pour info, ce n'est pas 10, mais 6 paramètres maxi que tu peux utiliser dans MessageFormat.
 




 
Bah alors, la javadoc est fausse :
 

Code :
  1. The argument is a number from 0 to 9, which corresponds to the arguments presented in an array to be formatted.

 
 
Sinon, je suis d'accord avec toi, c'est puissant et excessivement utile, mais j'aime pas la manière dont il faut l'utliser, en fait, c tout.

n°219589
BifaceMcLe​OD
The HighGlandeur
Posté le 24-09-2002 à 17:24:27  profilanswer
 

Oui, je confirme, le JavaDoc est faux. En fait, je ne sais pas trop pourquoi MessageFormat ignore les arguments qu'on lui donne au-delà du 6ème (alors qu'il a les attributs internes qu'il faut pour en supporter 10). Sans doute un bug, qui n'a jamais été corrigé depuis que cette classe existe.
C'est d'ailleurs pour cette raison qu'avec un de mes collègues, nous avions réécrit notre propre classe de formattage, qui s'était étoffée par la suite.


Message édité par BifaceMcLeOD le 24-09-2002 à 17:26:07
n°219596
--greg--
Posté le 24-09-2002 à 17:37:39  profilanswer
 

euh  
 
 

Code :
  1. import java.text.MessageFormat;
  2. /**
  3. *
  4. *
  5. * @author     --greg--
  6. * @author     $Author: $ (last edit)
  7. * @version    $Revision:  $
  8. * @created    Sep 24, 2002
  9. */
  10. public class TestMessageFormat {
  11.     public static void main(String[] args) {
  12.         String test = "*{0}**{1}**{2}**{3}**{4}**{5}**{6}**{7}**{8}**{9}*";
  13.         String[] arr = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j"};
  14.         System.out.println("test = " + test);
  15.         System.out.println("MessageFormat.format(test, arr) = " + MessageFormat.format(test, arr));
  16.     }
  17. }

ça marche pourtant...
 

Citation :

test = *{0}**{1}**{2}**{3}**{4}**{5}**{6}**{7}**{8}**{9}*
MessageFormat.format(test, arr) = *a**b**c**d**e**f**g**h**i**j*


Message édité par --greg-- le 24-09-2002 à 17:38:27

---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°219659
BifaceMcLe​OD
The HighGlandeur
Posté le 24-09-2002 à 19:11:38  profilanswer
 

Yep !  :heink:
Tu utilises quel JDK ? Sur mon poste, avec le JDK 1.4.1, effectivement, c'est OK. Mais je suis sûr que ça eût planté (mais c'est vrai qu'on utilisait le JDK 1.2, à l'époque : le JDK 1.3 n'existait pas encore).


Message édité par BifaceMcLeOD le 24-09-2002 à 19:11:56
n°219665
--greg--
Posté le 24-09-2002 à 19:42:53  profilanswer
 

BifaceMcLeOD a écrit a écrit :

Yep !  :heink:
Tu utilises quel JDK ? Sur mon poste, avec le JDK 1.4.1, effectivement, c'est OK. Mais je suis sûr que ça eût planté (mais c'est vrai qu'on utilisait le JDK 1.2, à l'époque : le JDK 1.3 n'existait pas encore).



1.3.1_02 ou _03 ché plus


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°219952
El_gringo
Posté le 25-09-2002 à 14:25:46  profilanswer
 

El_Gringo a écrit a écrit :

 
 
haaaa, j'me doutais qu'il y avait du CVS derrière ça...
Merci.




 
Pour une entreprise, c gratuit CVS ?

n°219968
--greg--
Posté le 25-09-2002 à 14:37:33  profilanswer
 

beh ouais
enfin y'en a surement des payants si tu veux:D


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°220047
El_gringo
Posté le 25-09-2002 à 16:03:05  profilanswer
 

--greg-- a écrit a écrit :

beh ouais
enfin y'en a surement des payants si tu veux:D




 
Bah non, c cool. Merci.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  MessageFormat ça suxx des ours

 

Sujets relatifs
Plus de sujets relatifs à : MessageFormat ça suxx des ours


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR