Do you have logging turned on?  Does HiveMind say that it's parsing the
module descriptor for the "com.mypackage" module?


-----Original Message-----
From: GbT [mailto:[EMAIL PROTECTED] 
Sent: Sunday, March 26, 2006 9:54 AM
To: Tapestry users
Subject: Re: Application State Objects and Hivemind...

Yes it's in the classes directory... I don't understand what could be  
wrong... my Home.html is:

<span jwcid="@Wrapper">
        <div id="navigation">
        <ul>
                <span jwcid="@For" source="ognl:visita.menus"  
value="ognl:currentMenu" element="li">
                        <span jwcid="@Insert"
value="ognl:currentMenu.name">Menu  
name</span>
                </span>
         </ul>
     </div>
</span>



Il giorno 26/mar/06, alle ore 16:17, Mike Snare ha scritto:

> Hmm.  Looks ok (but I don't use annotations, either).  Are you sure
> that the hivemodule.xml file is being copied over to the classes
> directory?  Check that.
>
> I find it easier (for webapps) to just drop it directly in the WEB-INF
> directory.  Since you're typically running tomcat with the docBase
> pointing back to your project (for development, anyway -- and likely
> so if you are using Kent's book) this should work fine.
>
> -Mike
>
> On 3/26/06, GbT <[EMAIL PROTECTED]> wrote:
>> Hi to all,
>> I am in trouble getting application state objects to work... I  
>> want to
>> use a class named Visita in my package com.mypackage... and write  
>> this
>> hivemind.xml file in src/META-INF as explained in Kent Tong book:
>>
>> <?xml version="1.0"?>
>> <module id="com.mypackage" version="1.0.0" package="com.mypackage">
>>        <contribution configuration- 
>> id="tapestry.state.ApplicationObjects">
>>                <state-object name="visita" scope="session">
>>                        <create-instance  
>> class="com.mypackage.Visita"/>
>>                </state-object>
>>        </contribution>
>> </module>
>>
>> I'm using cayenne for the persistence... Visita.java is simple:
>>
>> package com.mypackage;
>> import java.io.Serializable;
>> import java.util.List;
>> import org.apache.tapestry.IRequestCycle;
>> import org.objectstyle.cayenne.access.*;
>> import org.objectstyle.cayenne.query.*;
>> import com.mypackage.logic.*;
>>
>> public class Visita implements Serializable {
>>    protected DataContext dataContext;
>>    protected Menu currentMenu;
>>    public Visita() {
>>        super();
>>        this.dataContext = DataContext.createDataContext();
>>    }
>>    public DataContext getDataContext() {
>>        return dataContext;
>>    }
>>        public void setCurrentMenu(Menu menu) {
>>                currentMenu = menu;
>>        }
>>        public List getMenus() {
>>        if (currentMenu!=null) {
>>                return currentMenu.getSons();
>>        }
>>        SelectQuery query = new SelectQuery(Menu.class);
>>                return getDataContext().performQuery(query);
>>    }
>> }
>>
>> I inject visita in Home.java with:
>> @InjectState("visita")
>> public abstract Visita getVisita();
>>
>> But everytime I try to access Home to display visita.menus... i  
>> get this error:
>>
>> Unable to read OGNL expression '<parsed OGNL expression>' of
>> [EMAIL PROTECTED]: visita
>>
>> ... 'visita' is not a declared application state object.
>>
>> What's wrong???
>>
>> And what's the best way to store the currentMenu a user is  
>> displaying?
>> I choose to use the Visita.currentMenu object (in the session).
>>
>> Thanks
>>
>> ---------------------------------------------------------------------
>> 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: [EMAIL PROTECTED]
>




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

Reply via email to