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: [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 - And now for something completely different…
> >
> >
> > ---------------------------------------------------------------------
> > 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]