JSP : bean pour utilisation dans une balise <jsp:usebean

JSP : bean pour utilisation dans une balise <jsp:usebean - Java - Programmation

Marsh Posté le 19-02-2003 à 14:49:12    

Dans ma boite, la norme, c'est que les attributs de classes sont précédés de "m_"
 
exemple :

Code :
  1. public Maclasse {
  2.    protected int m_iMonInt
  3. }


 
Mes accesseurs, je serais obligé de les écrire comme ça du coup ?

Code :
  1. public void setm_iMonInt (int _iMonInt) {
  2.       m_iMonInt = _iMonInt;
  3.    }
  4.    public int getm_iMonInt () {
  5.       return (m_iMonInt);
  6.    }


 
J'imagine que c'est le cas... Mais c'est affreux. Y a pas moyen, si c'est le cas, comme le le pense, je vire ce "m_i", et puis c'est tout !

Reply

Marsh Posté le 19-02-2003 à 14:49:12   

Reply

Marsh Posté le 19-02-2003 à 15:26:42    

El_gringo a écrit :


Mes accesseurs, je serais obligé de les écrire comme ça du coup ?


bha non. Tu écris tes accesseurs comme tu veux. Ils n'ont pas obligatoirement le même nom que les attributs ...

Reply

Marsh Posté le 19-02-2003 à 15:31:29    

benou a écrit :


bha non. Tu écris tes accesseurs comme tu veux. Ils n'ont pas obligatoirement le même nom que les attributs ...


 
 
ha bon !? et dans une JSP, quand on fait :


<jsp:getProperty name="user" property="name" />


ou  


<jsp:setProperty name="user" property="name"  
  value="jGuru" />


comment le moteur de servlet sait quelle méthode appeler si on suit pas une norme de nommage !??

Reply

Marsh Posté le 19-02-2003 à 15:47:39    

justement, la jsp ne se sert que du nom des méthodes, pas du nom des attributs !

Code :
  1. <jsp:getProperty name="user" property="name" />


ca donne

Code :
  1. out.println(user.getName());


 

Reply

Marsh Posté le 19-02-2003 à 16:03:27    

benou a écrit :

justement, la jsp ne se sert que du nom des méthodes, pas du nom des attributs !

Code :
  1. <jsp:getProperty name="user" property="name" />


ca donne

Code :
  1. out.println(user.getName());


 
 


 
donc pour avoir MonInt, il faut que je fasse :

Code :
  1. <jsp:getProperty name="MaClasse" property="MonInt" />


qui génèrera :

Code :
  1. out.println(user.getMonInt());


...cool. Merci.

Reply

Marsh Posté le 19-02-2003 à 16:15:09    

non ! un attribut doit commencer par une minuscule !!!!!
et puis faut donner le nom de l'instance du bean, pas sa classe
 

Code :
  1. <jsp:getProperty name="user" property="monInt" />

 
qui génèrera :  

Code :
  1. out.println(user.getMonInt());


Message édité par benou le 19-02-2003 à 16:16:10
Reply

Marsh Posté le 19-02-2003 à 23:50:42    

benou a écrit :


bha non. Tu écris tes accesseurs comme tu veux. Ils n'ont pas obligatoirement le même nom que les attributs ...


 
c'est pas vrai ça


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 20-02-2003 à 00:10:18    

DarkLord a écrit :


c'est pas vrai ça  


 :heink:

Reply

Marsh Posté le 20-02-2003 à 00:31:53    

Citation :

By default, we use design patterns to locate properties by looking for methods of the form:
public < PropertyType> get< PropertyName>();
public void set< PropertyName>(< PropertyType> a);
If we discover a matching pair of ?get<PropertyName>? and ?set<PropertyName>? methods
that take and return the same type, then we regard these methods as defining a read-write property
whose name will be ?<propertyName>?.
[...]
If we find only one of these methods, then we regard it as defining either a read-only or a writeonly
property called ?<propertyName>?


 
En clair, c'est le nom des getter/setter qui définie le nom "virtuel" de la propriété.
 
en encore plus clair, j'avais raison !!!! :o


Message édité par benou le 20-02-2003 à 00:33:49
Reply

Marsh Posté le 20-02-2003 à 09:11:13    

benou a écrit :

Citation :

By default, we use design patterns to locate properties by looking for methods of the form:
public < PropertyType> get< PropertyName>();
public void set< PropertyName>(< PropertyType> a);
If we discover a matching pair of ?get<PropertyName>? and ?set<PropertyName>? methods
that take and return the same type, then we regard these methods as defining a read-write property
whose name will be ?<propertyName>?.
[...]
If we find only one of these methods, then we regard it as defining either a read-only or a writeonly
property called ?<propertyName>?


 
En clair, c'est le nom des getter/setter qui définie le nom "virtuel" de la propriété.
 
en encore plus clair, j'avais raison !!!! :o


 
non mais merci je sais ca :heink:
 

Citation :


bha non. Tu écris tes accesseurs comme tu veux. Ils n'ont pas obligatoirement le même nom que les attributs ...


 
Ta phrase n'est pas tres claire je trouve. Moi j'ai compris que tu disais qu'on pouvait avoir un truc du genre:
 

Code :
  1. private String cName;
  2. public void setCustomerName(String name) { ... }
  3. public String getName() {}


 
 
voilà d'où ma remarque :hello:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 20-02-2003 à 09:11:13   

Reply

Marsh Posté le 20-02-2003 à 09:22:17    

ben tu peux... mais la classe d'introspection considerera qu'il y a 2 propriétés :  
 - customerName en write-only  
 - name en read-only
 
je voulais juste dire que le nom des getter/setter n'est pas forcément le même que celui de l'attribut auxquel il correspond. (c'était la réponse au premier post du monsieur)

Reply

Marsh Posté le 20-02-2003 à 09:23:55    

vi vi :o


---------------
Just because you feel good does not make you right
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed