No problem.  I know it can really be a pain getting started.

Don't be at all afraid to dive into the source with the debugger when
you're running into troubles.  It really helps to improve your
understanding of the code, I think.


On Wed, 16 Mar 2005 23:19:08 +0000, Kostas Karadamoglou
<[EMAIL PROTECTED]> wrote:
> Nice!!!
> know I got it !
> I assumed that you used <f:converter> not as an attribute
> 
> Thank you very much for you time!!!
> I really appreciate it
> 
> Heath Borders wrote:
> 
> >Your converter is a managed bean.
> >
> >It would be:
> >
> >public class MyConverter implements Converter { ... }
> >
> >Then in your faces-config.xml :
> >
> ><managed-bean>
> ><managed-bean-name>myConverter</managed-bean-name>
> ><managed-bean-class>com.foo.MyConverter</managed-bean-class>
> ><managed-bean-scope>session</managed-bean-scope>
> ></managed-bean>
> >
> >Then, in your JSP:
> >
> ><h:selectOneMenu value="#{myBean.myProperty}" converter="#{myConverter}">
> ><f:selectItems value="#{myBean.mySelectItems}" />
> ></h:selectOneMenu>
> >
> >
> >On Wed, 16 Mar 2005 23:08:21 +0000, Kostas Karadamoglou
> ><[EMAIL PROTECTED]> wrote:
> >
> >
> >>How does the getAsString method that you gave me have access to the
> >>_beanBaseMap?
> >>Which is in the session scope the converter or the map?
> >>If the converter has session scope, how do you declare it in the config.xml?
> >>If the map is in the session scope how do you access it?
> >>
> >>Heath Borders wrote:
> >>
> >>
> >>
> >>>The getAsString method takes 3 arguments, the FacesContex, the
> >>>UIComponent doing the conversion, and the Object value.  It is
> >>>perfectly fine for a Converter to only work with certain types of
> >>>Objects.
> >>>
> >>>Let's say that all your beans extend a common base class BeanBase
> >>>which has a property id.
> >>>
> >>>Then, your getAsString method might look like this:
> >>>
> >>>public String getAsString(FacesContext ctx, UIComponent comp, Object 
> >>>value) {
> >>>BeanBase myBean = (BeanBase) value;
> >>>// assuming this is a member variable that is a Map
> >>>_beanBaseMap.put(myBean.getId(), myBean);
> >>>
> >>>return myBean.getId();
> >>>}
> >>>
> >>>
> >>>On Wed, 16 Mar 2005 22:39:54 +0000, Kostas Karadamoglou
> >>><[EMAIL PROTECTED]> wrote:
> >>>
> >>>
> >>>
> >>>
> >>>>Very good idea!
> >>>>So I have understood from the converter's getAsString and getAsObject
> >>>>methods you call the getAsString and getAsObject respectively
> >>>>of the session scoped bean. But Is it possible to do this call? I mean
> >>>>does the converter has access to the session scope bean?
> >>>>How can I do it?
> >>>>
> >>>>Sorry for my questions but I am quite new to JSF.
> >>>>
> >>>>Heath Borders wrote:
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>>We have a session-scoped managed bean that implements converter.
> >>>>>Whenever one of our objects goes into the getAsString method, we put
> >>>>>the object in a map keyed by its id.  Then, when the getAsObject
> >>>>>method is called, we remove the object from the map and return it.
> >>>>>
> >>>>>
> >>>>>On Wed, 16 Mar 2005 22:25:56 +0000, Kostas Karadamoglou
> >>>>><[EMAIL PROTECTED]> wrote:
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>>Sorry about my previous email, I didn't read it correctly!
> >>>>>>
> >>>>>>Another question if I don't bother you
> >>>>>>
> >>>>>>As far  as I understood  the methods getAsString and getAsObject
> >>>>>>serialize and deserialize an object isnt true?
> >>>>>>If yes then we send the object to the client and we don't keep it in the
> >>>>>>server. In your previous reply you send that
> >>>>>>MyFaces keeps the object in the memory but I cannot understand how it is
> >>>>>>done OR How I have to do it.
> >>>>>>Can you explain me this confusion that I have?
> >>>>>>
> >>>>>>Thank your in advance, Kostas
> >>>>>>
> >>>>>>Heath Borders wrote:
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>>>It could be a good idea for JSF to store the objects in the server 
> >>>>>>>>side and just submit an
> >>>>>>>>identifier to with the html. Once the request is received to the 
> >>>>>>>>server JSF can indentify the
> >>>>>>>>referenced object by the identifier.
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>We did exactly this.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>On Wed, 16 Mar 2005 21:34:26 +0000, Kostas Karadamoglou
> >>>>>>><[EMAIL PROTECTED]> wrote:
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>>In you previous message you said:
> >>>>>>>>
> >>>>>>>>We elected to keep
> >>>>>>>>everything in memory since we don't have that many concurrent users.
> >>>>>>>>
> >>>>>>>>I didn't understand it can you explain it?
> >>>>>>>>
> >>>>>>>>It could be a good idea for JSF to store the objects in the server 
> >>>>>>>>side and just submit an
> >>>>>>>>identifier to with the html. Once the request is received to the 
> >>>>>>>>server JSF can indentify the
> >>>>>>>>referenced object by the identifier.
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>Heath Borders wrote:
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>>Depending on the size of your object graph, you might run into
> >>>>>>>>>performance problems doing that.  It really depends on your 
> >>>>>>>>>situation,
> >>>>>>>>>but that's something you could definitely try.  We elected to keep
> >>>>>>>>>everything in memory since we don't have that many concurrent users.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>On Wed, 16 Mar 2005 19:37:20 +0000, Kostas Karadamoglou
> >>>>>>>>><[EMAIL PROTECTED]> wrote:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>>and what if my bean that I want to convert includes another nested 
> >>>>>>>>>>objects?
> >>>>>>>>>>
> >>>>>>>>>>Is it a good idea to use libraries that serialize and deserialize 
> >>>>>>>>>>object
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>from and to xml?
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>>Heath Borders wrote:
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>>getAsString converts the Object to a String and getAsObject 
> >>>>>>>>>>>converts
> >>>>>>>>>>>the String back to an Object.
> >>>>>>>>>>>
> >>>>>>>>>>>The behaviour should be like this:
> >>>>>>>>>>>
> >>>>>>>>>>>MyBean foo = // get a bean from somewhere
> >>>>>>>>>>>Converter converter = // get a converter that converts MyBeans.
> >>>>>>>>>>>String fooString = converter.getAsString(foo);
> >>>>>>>>>>>MyBean bar = converter.getAsObject(fooString);
> >>>>>>>>>>>
> >>>>>>>>>>>foo.equals(bar);  // should return true.
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>Basically, the converter needs to convert an object to a String 
> >>>>>>>>>>>that
> >>>>>>>>>>>can be used later to recreate that Object.  You can do this many
> >>>>>>>>>>>different ways.  We have a unique id for every type of object and
> >>>>>>>>>>>store all objects in session.  Our converter just returns that 
> >>>>>>>>>>>unique
> >>>>>>>>>>>id and pulls the objects from session using a Map.
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>On Wed, 16 Mar 2005 16:49:25 +0000, Kostas Karadamoglou
> >>>>>>>>>>><[EMAIL PROTECTED]> wrote:
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>>Hi again thank you for your reply,
> >>>>>>>>>>>>I am new to JSF so I need some information on how to create 
> >>>>>>>>>>>>converters.
> >>>>>>>>>>>>Do you know any site one the internet that has such information?
> >>>>>>>>>>>>
> >>>>>>>>>>>>I have already looked on the internet but I only foound 
> >>>>>>>>>>>>converters for
> >>>>>>>>>>>>String not for
> >>>>>>>>>>>>other classes.
> >>>>>>>>>>>>
> >>>>>>>>>>>>Can you give directions on how to implement the getAsString and
> >>>>>>>>>>>>getAsObject ?
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>Heath Borders wrote:
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>>Yes, you must write a converter for Category.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>The object you pass as the 'value' of your SelectItem objects 
> >>>>>>>>>>>>>should
> >>>>>>>>>>>>>be of a type that is assignment-compatible with the property 
> >>>>>>>>>>>>>you've
> >>>>>>>>>>>>>bound to your component.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>On Wed, 16 Mar 2005 10:05:13 +0000, Kostas Karadamoglou
> >>>>>>>>>>>>><[EMAIL PROTECTED]> wrote:
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>>Hello I have a problem with the selectItems tag
> >>>>>>>>>>>>>>Bellow I have the method that brings the value attribute of the 
> >>>>>>>>>>>>>>tag:
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>public List getCategories() {
> >>>>>>>>>>>>>> ArrayList retValue = new ArrayList();
> >>>>>>>>>>>>>> retValue.add(new SelectItem("","Choose a category..."));
> >>>>>>>>>>>>>> for(Iterator 
> >>>>>>>>>>>>>> iter=this.eventRegistry.getCategories().iterator();
> >>>>>>>>>>>>>>iter.hasNext();){
> >>>>>>>>>>>>>>     Category category=(Category)iter.next();
> >>>>>>>>>>>>>>     retValue.add(new SelectItem(category,category.getTitle()));
> >>>>>>>>>>>>>> }
> >>>>>>>>>>>>>> return retValue;
> >>>>>>>>>>>>>>}
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>When I run the web application I get the following exception:
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>javax.faces.FacesException: There is no registered converter 
> >>>>>>>>>>>>>>for class
> >>>>>>>>>>>>>>essex.cc403.hbeans.Category
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>Do I really  need to write a converter for the Category? Can I 
> >>>>>>>>>>>>>>avoid it?
> >>>>>>>>>>>>>>Can you axplain me what I have to do because I am not familiar 
> >>>>>>>>>>>>>>with JSF
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>Thank you in advanec, kostas
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>
> >>>
> >>>
> >>>
> >>
> >>
> >
> >
> >
> >
> 
> 


-- 
-Heath Borders-Wing
[EMAIL PROTECTED]

Reply via email to