> JSF takes care of conversion
> problems, and redisplay in case of conversion errors, for you.
indeed, converters are a BIG-plus in JSF
the DateTimeConverter allows you to use
java.util.Date in a BackingBean.
<h:inputText ... value="#bean.date">
<f:convertDateTime pattern="MM/dd/yyyy"/>
</h:inputText>
enter in textfield: 12/06/2004
and java.util.Date got created...
on the other side the output, i case of
presenting a date
<h:outputText ... value="#bean.date">
<f:convertDateTime pattern="MM/dd/yyyy"/>
</h:ouputText>
so you got your date like '12/06/2004' instead of
[EMAIL PROTECTED] ;-)
btw. you can create your own converters
e.g for a telephone-nr class
Telephone
-country
-city
-yournummer
give that converter a delimiter and some logic, on what digit is what
<h:inputText ... value="#{bean.tele}">
<x:teleConverter delim="."/>
</h:inputText>
so you might enter '+1.410.803.2258'
and your Telephone-Object is created...
same for output...
btw. if your converter has attributes,
keep in mind, that you need to implement stateholder-Interface...
okay... before i turn too much offtopic...
regards
Matthias
> As a trivial example, assume you have a bean "mybean" that has an
> input/output int property named "mycount" that you want to
> render in a
> JSF-based JSP page. It is trivially simple:
>
> <h:inputText ... value="#{mybean.count}"/>
>
> works fine. The String->int and int->String conversions
> (including any
> errors that occur) are handled totally by JSF. Your business
> logic can
> assume that, if was invoked, there were no conversion or
> validation errors.
>
> Craig
>
>
>
> >--- Craig McClanahan <[EMAIL PROTECTED]> wrote:
> >
> >
> >>Hookom, Jacob wrote:
> >>
> >>
> >>
> >>>Look at JSF, do you have actions? No, JSF just updates your POJO
> >>>beans and calls methods on them. Why have an ActionForm
> or have to
> >>>create all of these Actions that are simply getter/setter
> adapters?
> >>>Please don't be too quick to retort to my supposed anti-struts
> >>>mindset, but there are other frameworks out there that
> allow direct
> >>>interaction with my business objects and don't require a heck of a
> >>>lot of framework specific coding.
> >>>
> >>>
> >>>
> >>>
> >>>
> >>(Coming into this discussion late, but figured that my experience on
> >>both the Struts and JSF side of things might provide some
> illuminating
> >>food for thought :-)
> >>
> >>It's instructive, first, to go back to the beginning of Struts
> >>development (just over four years ago), and recall why an
> ActionForm
> >>exists in the first place. The only reason we created that
> abstraction
> >>was to deal with some pesky real world problems in
> designing webapps ...
> >>primarily dealing with conversion (where we really punted ... see
> >>below), validation, and little things like maintaining the state of
> >>checkboxes. Because Struts doesn't have any "user
> interface component"
> >>concept, dealing with those things had to go somewhere --
> and a common
> >>abstraction at least made it easy to understand.
> >>
> >>Therefore, the recommended design pattern for a Struts based app
> >>becomes:
> >>
> >>- An ActionForm per input <form>, normally with
> >> String-based properties (so you can redisplay
> >> invalid input the way users expect you to).
> >>
> >>- A set of validation rules that are applied for you
> >> on the server side, and optionally also on the
> >> client side.
> >>
> >>- If a validation error occurs, Struts takes care
> >> of redisplaying the page (with error messages)
> >>
> >>- If validation succeeds, the application Action
> >> is responsibe for performing conversions of the
> >> String valued things in the ActionForm to match
> >> the underlying model data types, typically by
> >> copying them in to DTO/VO type objects and
> >> passing them to business logic (although, as others
> >> have pointed out, lots of Struts developers have
> >> skipped this extra layer).
> >>
> >>With JSF, the component model takes care of all the responsibilities
> >>that Struts uses an ActionForm for, so you don't need one
> any more.
> >>Indeed, I anticipate people will choose one or more (they aren't
> >>mutually exclusive) of at least three different styles for building
> >>JSF-based webapps:
> >>
> >>(1) You can bind individual *components* to backing bean properties,
> >> similar to how ASP.Net "code behind files" work. This will
> >> be most comfortable to VB developers, and is useful when
> >> you need to programmatically modify component properties.
> >>
> >>(2) You can bind component *values* directly to properties in your
> >> backing bean, and then provide the business logic as
> action methods
> >> in the same class. Because the components take care
> of conversion,
> >> you're free to use model-oriented data types for such
> properties,
> >> so you don't need to worry about explicit conversion any more.
> >> This style will appear to Struts developers like a
> combination of an
> >> Action and an ActionForm in the same class, and will
> also appeal to
> >> the crowd that likes O-O encapsulation :-).
> >>
> >>(3) You can bind component *values* directly to properties
> on a VO/DTO
> >> object, and bind action events to methods on a
> separate bean that will
> >> either perform the logic directly or delegate to a
> business logic
> >>class.
> >> This style will feel more like traditional Struts separated
> >>ActionForm and
> >> Action classes, but the Action won't have as much to
> do. It's also
> >>a great
> >> way to build a webapp on top of existing application
> infrastructure
> >>that
> >> provides resuabe VO/DTO and business logic classes already.
> >>
> >>I believe that all three approaches are valid -- which one you take
> >>for
> >>a particular application function depends on your use case for that
> >>function. You don't have to be exclusive, either. Combine
> them where
> >>it makes sense.
> >>
> >>Craig McClanahan
> >>
> >>
> >>------------------------------------------------------------
> ---------
> >>To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >>
> >>
> >
> >
> >
> >__________________________________
> >Do you Yahoo!?
> >Yahoo! Mail - 50x more storage than other providers!
> >http://promotions.yahoo.com/new_mail
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: [EMAIL PROTECTED]
> >For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]