Hi Ronald,
is your B component syncronizing bindings?
If so, your B instance should receive a call equivalent to «
b.takeValueForKey(session().authenticatedUser(), “userAccount”); » so you
should comply to KVC for this key (public ivar, get/set method .. your choice)
to get it assigned and available.
If your B component is non-synchronized, then you have to get it whenever you
need it:
« User user = this.valueForBinding(“userAccount”); »
Also, since your B component is in a framework and is aware of the concept of a
userAccount, I would try to keep the dependency as loose as possible and NOT
add coupling directly with the session object.
But if you absolutely have to do it (last resort), it could be done with simple
KVC:
« User user = (User) session().valueForKey("authenticatedUser”); »
or even:
« User user = (User) valueForKeyPath(“session.authenticatedUser”); »
Ways of passing generic/contextual objects from the front-end layer to the
lower end without adding too much coupling is by going through the
editingContext.userInfo dictionary, or through the current thread userInfo
dictionary (see ERXThreadStorage). Those 2 objects are available in most lower
level objects and can be set from the upper level just as easily.
jfv
> On May 29, 2015, at 9:11 AM, HOUNKPONOU Ronald <[email protected]>
> wrote:
>
> In A.html
>
> <webobject name = "template">
>
> </webobject>
>
>
> In A.wood
>
> template : B {
> userAccount = session.authenticatedUser;
> }
>
>
> in B.html
>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
> <http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>">
>
> <html xmlns="http://www.w3.org/1999/xhtml <http://www.w3.org/1999/xhtml>"
> xml:lang="en" lang="en">
> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
> <title>untitled</title>
> </head>
> <body>
> <webobject name = "specialitemedicale">
> <label>Libellé</label>
> <webobject name = "libelle"/>
> <webobject name = "enregistrer"/>
> </webobject>
> </body>
> </html>
>
> in B.wood
>
> specialitemedicale : WOForm {
> }
>
> libelle : WOTextField {
> value = libelle;
> }
>
> enregistrer : WOSubmitButton {
> action=insertSpecialitemedicale;
> value="Enregistrer";
> }
>
> 2015-05-29 13:15 GMT+01:00 Johann Werner <[email protected]
> <mailto:[email protected]>>:
> What is your HTML? You need to wire up your binding with the actual
> method/ivar of your component A:
>
> …
> <wo:B userAccount="$account" />
> …
>
> and in A.java:
>
> public MyAccountClass account = …;
>
>
>
>
> > Am 29.05.2015 um 13:25 schrieb HOUNKPONOU Ronald
> > <[email protected] <mailto:[email protected]>>:
> >
> > I forgot the image.
> >
> > 2015-05-29 12:23 GMT+01:00 HOUNKPONOU Ronald <[email protected]
> > <mailto:[email protected]>>:
> > Hi everyone,
> >
> > Iam facing a problem with subcomponent binding.
> >
> > I have 2 componets A & B. B is to be include in A.
> >
> > But B need some information (eg. Authenticated user object). So i have
> > create a binding as show in the attached picture and add its gette 7 setter
> > in B.java.
> >
> > (I dont know how to specify Value Set to be my Objet Type. so i try with
> > undefined & ressources)
> >
> > But the object is not passed to B.
> >
> > I got a NullPointerException when trying to access the passed vairable in
> > B.java
> >
> > Thanks for your help.
> >
> > <Selection_005.png>
>
>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list ([email protected])
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/jean_francois_veillette%40yahoo.ca
>
> This email sent to [email protected]
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com
This email sent to [email protected]