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]
