I guess I am really a newbie at this, having always used struts I am
pretty confused.
So where do I actually put page.company or page.user?
In the Page.html file or Page.jwc?
Could you give me an example?
Thanks for all the help.

On Tue, 12 Jul 2005 17:15:35 -0400, "Todd O'Bryan" <[EMAIL PROTECTED]>
said:
> What Jamie (?) said...
> 
> page.user and page.company work fine as OGNL expressions. You don't  
> need your component to know anything about them, actually.
> 
> Todd
> 
> On Jul 12, 2005, at 5:09 PM, Java Leech wrote:
> 
> > No I just need to display what they contain in my component.  What is
> > the best way of going about this?
> >
> > On Tue, 12 Jul 2005 17:07:17 -0400, "Todd O'Bryan"  
> > <[EMAIL PROTECTED]>
> > said:
> >
> >> Why do you need user and company instance variables if they're
> >> accessible from the Visit? Are you changing them inside the  
> >> component?
> >>
> >> Todd
> >>
> >> On Jul 12, 2005, at 4:53 PM, Java Leech wrote:
> >>
> >>
> >>> So do you mean do something like this?
> >>>
> >>> public abstract class CompanyInfo extends BaseComponent {
> >>>
> >>>     private boolean dispayLogo = false;
> >>>     private Company company;
> >>>     private Users user;
> >>>
> >>>
> >>>     /**
> >>>      * @return Returns the company.
> >>>      */
> >>>     public Company getCompany(){
> >>>         return(((CompanyProfile) getPage()).getCompany());
> >>>     }
> >>>
> >>>     /**
> >>>      * @param company The company to set.
> >>>      */
> >>>     public void setCompany(Company company) {
> >>>         this.company = company;
> >>>     }
> >>>
> >>>     /**
> >>>      * @return Returns the user.
> >>>      */
> >>>     public Users getUser(){
> >>>         return(((CompanyProfile) getPage()).getUser());
> >>>     }
> >>>     /**
> >>>      * @param user The user to set.
> >>>      */
> >>>     public void setUser(Users user) {
> >>>         this.user = user;
> >>>     }
> >>> }
> >>>
> >>> On Tue, 12 Jul 2005 16:32:37 -0400, "Todd O'Bryan"
> >>> <[EMAIL PROTECTED]>
> >>> said:
> >>>
> >>>
> >>>> You can only use this component on a page that has getUser() and
> >>>> getCompany() defined, right? Create a page superclass that defines
> >>>> those two and has the code to get them from the Visit. Then in your
> >>>> component you can use ((MyPageSuperClass) getPage()).getUser() and
> >>>> similar to get access to them.
> >>>>
> >>>> You don't really need a separate copy in the component if you  
> >>>> can get
> >>>> it from the Visit, right?
> >>>>
> >>>> Todd
> >>>>
> >>>> On Jul 12, 2005, at 4:23 PM, Java Leech wrote:
> >>>>
> >>>>
> >>>>
> >>>>> So I guess I don't understand how to initialize these  
> >>>>> properties for
> >>>>> components.
> >>>>> If i create a <property-specifications> in my.jwc how do I  
> >>>>> retrieve
> >>>>> the
> >>>>> Object I have stored in the Visit()?
> >>>>>
> >>>>>
> >>>>> On Tue, 12 Jul 2005 15:59:22 -0400, "Jamie Orchard-Hays"
> >>>>> <[EMAIL PROTECTED]> said:
> >>>>>
> >>>>>
> >>>>>
> >>>>>> You need to learn some Tapestry conventions. The first is that  
> >>>>>> when
> >>>>>> you have page or component properties, you generally should not
> >>>>>> define them in the Java file with instance variables and get/
> >>>>>> setters.
> >>>>>> What you should do  is define them in your .page or .jwc file as
> >>>>>> <property-specifications>. When you do this, Tapestry will
> >>>>>> handle the
> >>>>>> initialization they need to be cleaned up for page pooling
> >>>>>> (pages are
> >>>>>> pooled for performance).
> >>>>>>
> >>>>>> When you have a page or component property that needs to be
> >>>>>> accessed
> >>>>>> inside your java file, then you make an abstract getter and/or
> >>>>>> setter:
> >>>>>> public abstract String getSomeProperty();
> >>>>>> public abstract void setSomeProperty();
> >>>>>>
> >>>>>> Jamie
> >>>>>>
> >>>>>> On Jul 12, 2005, at 2:50 PM, Java Leech wrote:
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>> Could someone guide me in the right direction here?
> >>>>>>> Here is the code for a component that I have:
> >>>>>>>
> >>>>>>> public class CompanyInfo extends BaseComponent {
> >>>>>>>     private Users user = new Users();
> >>>>>>>     private Company company = new Company();
> >>>>>>>     private boolean dispayLogo = false;
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>     /**
> >>>>>>>      * @return Returns the company.
> >>>>>>>      */
> >>>>>>>     public Company getCompany() {
> >>>>>>>         Visit visit = (Visit) getPage().getVisit();
> >>>>>>>         return (visit.getCurrentCompany());
> >>>>>>>     }
> >>>>>>>     /**
> >>>>>>>      * @param company The company to set.
> >>>>>>>      */
> >>>>>>>     public void setCompany(Company company) {
> >>>>>>>         this.company = company;
> >>>>>>>     }
> >>>>>>>     /**
> >>>>>>>      * @return Returns the user.
> >>>>>>>      */
> >>>>>>>     public Users getUser() {
> >>>>>>>         Visit visit = (Visit) getPage().getVisit();
> >>>>>>>         Users u = visit.getUsers();
> >>>>>>>         return u;
> >>>>>>>     }
> >>>>>>>     /**
> >>>>>>>      * @param user The user to set.
> >>>>>>>      */
> >>>>>>>     public void setUser(Users user) {
> >>>>>>>         this.user = user;
> >>>>>>>     }
> >>>>>>>     ...../
> >>>>>>> }
> >>>>>>>
> >>>>>>> When I log in with two different browsers on different  
> >>>>>>> machines I
> >>>>>>> get
> >>>>>>> the following exception:
> >>>>>>> Unable to resolve expression 'company.name' for
> >>>>>>> [EMAIL PROTECTED]
> >>>>>>> [CompanyProfile/compInfo].
> >>>>>>> binding: ExpressionBinding[CompanyProfile/compInfo company.name]
> >>>>>>> location: context:/WEB-INF/CompanyInfo.html, line 12
> >>>>>>>
> >>>>>>> ognl.OgnlException
> >>>>>>> source is null for getProperty(null, "name")
> >>>>>>>
> >>>>>>> Users() and Company() are my persistant Hibernate Classes.
> >>>>>>> What is
> >>>>>>> the
> >>>>>>> best way to do this?  Basically this component shows information
> >>>>>>> about
> >>>>>>> the current company that the user belongs to.  I have stored the
> >>>>>>> Users()
> >>>>>>> in the Visit and want to pull up this information.
> >>>>>>> Thanks.
> >>>>>>> ~chris
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> On Tue, 12 Jul 2005 11:00:31 -0500, "Joel Trunick"
> >>>>>>> <[EMAIL PROTECTED]> said:
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>>
> >>>>>>>> It's caused because the page is cached. It still has the old
> >>>>>>>> "Users"
> >>>>>>>> object with the values filled in the first time. Something
> >>>>>>>> like the
> >>>>>>>> following will fix (I personally user a getter with lazy
> >>>>>>>> initialization,
> >>>>>>>> and initialize users to null):
> >>>>>>>>
> >>>>>>>> public void initialize() {
> >>>>>>>>   Users users = new Users();
> >>>>>>>> }
> >>>>>>>>
> >>>>>>>> Joel
> >>>>>>>>
> >>>>>>>> -----Original Message-----
> >>>>>>>> From: Java Leech [mailto:[EMAIL PROTECTED]
> >>>>>>>> Sent: Tuesday, July 12, 2005 9:25 AM
> >>>>>>>> To: [email protected]
> >>>>>>>> Subject: Newbie with Thread Issues
> >>>>>>>>
> >>>>>>>> I have posted this on the forum but it seems there is not to  
> >>>>>>>> much
> >>>>>>>> action
> >>>>>>>> there.  So I'll try the mailing list.
> >>>>>>>>
> >>>>>>>> I'm not sure what I am doing wrong but I seem to be having some
> >>>>>>>> serious
> >>>>>>>> thread problems. I have been developing an app for about a
> >>>>>>>> week and
> >>>>>>>> today was the first time I brought up a browser on another
> >>>>>>>> machine
> >>>>>>>> to my
> >>>>>>>> webapp. I knew something was wrong immediatly when my login  
> >>>>>>>> form
> >>>>>>>> was
> >>>>>>>> autofilled with the values that I used in the first browser.
> >>>>>>>>
> >>>>>>>> After trying to log in got a bunch of null value exceptions and
> >>>>>>>> can't
> >>>>>>>> ever log back in with out restarting jboss. I am using
> >>>>>>>> Hibernate3 and
> >>>>>>>> Tapestry 3.03 running on jboss.
> >>>>>>>>
> >>>>>>>> Here is a code snippet from my login component:
> >>>>>>>>
> >>>>>>>> public abstract class NavLogin extends BaseComponent implements
> >>>>>>>> IForm{
> >>>>>>>>
> >>>>>>>>    private ICallback callback;
> >>>>>>>>    private Users users = new Users();
> >>>>>>>>
> >>>>>>>>     public void setCallback(ICallback callback) {
> >>>>>>>>         this.callback = callback;
> >>>>>>>>     }
> >>>>>>>>
> >>>>>>>>    public void formSubmit(IRequestCycle cycle){
> >>>>>>>>       //Form Validation
> >>>>>>>>       ValidationDelegate delegate =
> >>>>>>>>       (ValidationDelegate)getBeans().getBean("delegate");
> >>>>>>>>
> >>>>>>>>       //If no errors add the user
> >>>>>>>>       if(!delegate.getHasErrors()){
> >>>>>>>>          System.err.println("Users: "+ getUsers().getEmail() +
> >>>>>>>>                " Logging in with password: "+
> >>>>>>>>                HashUtils.md5Sum(getUsers().getPassword()));
> >>>>>>>>          Users authUser = authenticate();
> >>>>>>>>          if(authUser != null){
> >>>>>>>>             Visit visit = (Visit) getPage().getVisit();
> >>>>>>>>             visit.setUsers(authUser);
> >>>>>>>>
> >>>>>>>> if(authUser.getRole().getType().equalsIgnoreCase("provider")){
> >>>>>>>>                cycle.activate("CompanyProfile");
> >>>>>>>>             }
> >>>>>>>>          }
> >>>>>>>>       }
> >>>>>>>>    }
> >>>>>>>>    /**
> >>>>>>>>     * Authenticate the user attempting to log in
> >>>>>>>>     * @return
> >>>>>>>>     */
> >>>>>>>>    public Users authenticate(){
> >>>>>>>>       UserDAO dao = new UserDAO();
> >>>>>>>>       Users aUser = dao.authUser(getUsers().getEmail(),
> >>>>>>>>       HashUtils.md5Sum(getUsers().getPassword()));
> >>>>>>>>       return(aUser);
> >>>>>>>>    }
> >>>>>>>>
> >>>>>>>> -- 
> >>>>>>>> http://www.fastmail.fm - The professional email service
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> --------------------------------------------------------------- 
> >>>>>>>> --
> >>>>>>>> --
> >>>>>>>> --
> >>>>>>>> To unsubscribe, e-mail: tapestry-user-
> >>>>>>>> [EMAIL PROTECTED]
> >>>>>>>> For additional commands, e-mail: tapestry-user-
> >>>>>>>> [EMAIL PROTECTED]
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> --------------------------------------------------------------- 
> >>>>>>>> --
> >>>>>>>> --
> >>>>>>>> --
> >>>>>>>> To unsubscribe, e-mail: tapestry-user-
> >>>>>>>> [EMAIL PROTECTED]
> >>>>>>>> For additional commands, e-mail: tapestry-user-
> >>>>>>>> [EMAIL PROTECTED]
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>> -- 
> >>>>>>> http://www.fastmail.fm - And now for something completely
> >>>>>>> different&#8230;
> >>>>>>>
> >>>>>>>
> >>>>>>> ---------------------------------------------------------------- 
> >>>>>>> --
> >>>>>>> --
> >>>>>>> -
> >>>>>>> To unsubscribe, e-mail: tapestry-user-
> >>>>>>> [EMAIL PROTECTED]
> >>>>>>> For additional commands, e-mail: tapestry-user-
> >>>>>>> [EMAIL PROTECTED]
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>> ----------------------------------------------------------------- 
> >>>>>> --
> >>>>>> --
> >>>>>> To unsubscribe, e-mail: tapestry-user-
> >>>>>> [EMAIL PROTECTED]
> >>>>>> For additional commands, e-mail: tapestry-user-
> >>>>>> [EMAIL PROTECTED]
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>> -- 
> >>>>> http://www.fastmail.fm - Access all of your messages and folders
> >>>>>                           wherever you are
> >>>>>
> >>>>>
> >>>>> ------------------------------------------------------------------ 
> >>>>> --
> >>>>> -
> >>>>> To unsubscribe, e-mail: tapestry-user- 
> >>>>> [EMAIL PROTECTED]
> >>>>> For additional commands, e-mail: tapestry-user-
> >>>>> [EMAIL PROTECTED]
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>> ------------------------------------------------------------------- 
> >>>> --
> >>>> To unsubscribe, e-mail: tapestry-user- 
> >>>> [EMAIL PROTECTED]
> >>>> For additional commands, e-mail: tapestry-user-
> >>>> [EMAIL PROTECTED]
> >>>>
> >>>>
> >>>>
> >>>
> >>> -- 
> >>> http://www.fastmail.fm - Does exactly what it says on the tin
> >>>
> >>>
> >>> -------------------------------------------------------------------- 
> >>> -
> >>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>> For additional commands, e-mail: tapestry-user- 
> >>> [EMAIL PROTECTED]
> >>>
> >>>
> >>>
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: tapestry-user- 
> >> [EMAIL PROTECTED]
> >>
> >>
> >
> > -- 
> > http://www.fastmail.fm - Email service worth paying for. Try it for  
> > free
> >
> >
> > ---------------------------------------------------------------------
> > 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]
> 

-- 
http://www.fastmail.fm - Access all of your messages and folders
                          wherever you are


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to