Hi Katia Thank you for you attention. See answers below
12 августа 2010 г. 0:02 пользователь Katia Aresti Gonzalez <katiaare...@gmail.com> написал: > I've checkout your code this afternoon in order to make it run. i didn't > have much time, i had thing to do. I uploaded war file for you: http://tasks-journal.googlecode.com/files/tasksjui.war > > can you tell me all about your development and runtime environment, please ? Take a look at wiki article I wrote for you : http://code.google.com/p/tasks-journal/wiki/Environment > you are not using maven, are you using jetty to run the project ? tomcat ? I'm using ant to build and tomcat 6.0.26 to run. > do I need to configure something in particular to make it work ? Before run you must edit config file (\WEB-INF\classes\hibernate.cfg.xml) and configure connection to database, which Hibernate will be using. Currently I'm using HSQL while developing project. You must change location of database from "c:/tasksj/db" to something on your choice. > > > 2010/8/11 Tornn <sergey.v.karpus...@gmail.com> > >> So......, no one can help to solve this problem? >> >> 2010/8/11 Tornn <sergey.v.karpus...@gmail.com>: >> > Hi Markus! >> > >> > Thank you for your response! >> > I tried to do that. But if I add id="something${counter}" where >> > counter is just a number it stops working at all. >> > It renders ok. But buttons do nothing - they cannot submit the form. >> > >> > If I generate ${counter} as it Tapestry does ({"", "_0", "_1", ...., >> > "_n"}), that I have the same behavior as earlier - it rerenders only >> > the first "instance" of control at the page. >> > >> > I tried to use only "id". And "id" and "t:id". Result is the same. >> > With simple counter as a number it stops working, with tapestry-like >> > counter it rerenders only the first "instance". >> > >> > p.s. When I say "first instance" I mean "first render" of component >> > (Katia, thanks for comments). >> > >> > 2010/8/11 Markus Feindler <markus.feind...@gmx.de>: >> >> Each zone in a loop must have a unique id, so you have to create an id >> for >> >> example like this: >> >> >> >> ${zoneId} >> >> >> >> private int idcounter; >> >> >> >> public String getZoneId() { >> >> return "randomtext" + idcounter++; >> >> } >> >> >> >> Otherwise only the first zone will be updated. Use id instead of t:id >> for >> >> zones. >> >>> >> >>> Hi All! You are my last hope. I tried to resolve it by myself, I asked >> >>> (http://tinyurl.com/2btkmzk) at stackoverflow.com but with no success >> >>> yet. >> >>> >> >>> A little background. I'm very interested in tapestry (and currently >> >>> considering using it in production) because it looks like very >> >>> efficient (in all senses) framework. And it looks like >> >>> component-oriented framework. So I'm trying to work with it in a >> >>> component way. >> >>> >> >>> I'll try to fully describe problem. >> >>> >> >>> I have page with loop of components, where every component have its >> >>> own loop and other component in it. Inner component has form in it. >> >>> Every component is enclosed in zone, because we want responsive UI and >> >>> going to refresh only some portions of the page. >> >>> Within page I have following code: >> >>> <div t:type="Loop" t:source="journalDays" t:value="journalDay"> >> >>> <t:DayJournalItem day="journalDay" cacheContainer="cacheContainer" >> /> >> >>> </div> >> >>> >> >>> By the way, page activated in some context (conversation-id). >> >>> >> >>> Component DayJournalItem has following code: >> >>> <div xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd"> >> >>> <t:zone t:id="dayAjaxZone" update="show"> >> >>> <div class="dayHeader">${dayHeader}</div> >> >>> <div class="dayBody"> >> >>> <div t:type="Loop" t:source="activities" t:value="activity"> >> >>> <t:ActivityJournalItem activity="activity" >> >>> cacheContainer="cacheContainer" /> >> >>> </div> >> >>> </div> >> >>> </t:zone> >> >>> </div> >> >>> >> >>> And component ActivityJournalItem has this code (I wiped out form >> >>> fields and markup, as it's not important now. I think): >> >>> <div xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd"> >> >>> <t:zone t:id="activityAjaxZone" update="show"> >> >>> <t:if test="${editingActivity}"> >> >>> <div class="activityEditFormBody"> >> >>> <form t:type="form" t:id="activityForm" >> t:zone="activityAjaxZone"> >> >>> .... >> >>> <input t:id="Save" t:type="Submit" value="Save" /> >> >>> <input t:id="Cancel" t:type="Submit" value="Cancel" /> >> >>> </form> >> >>> </div> >> >>> </t:if> >> >>> <t:if test="${!editingActivity}"> >> >>> <div>viewing activity: ${activity.id}</div> >> >>> </t:if> >> >>> </t:zone></div> >> >>> >> >>> The first problem is that tapestry cant automatically restore state >> >>> of ActivityJournalItem component. When I receive event onSuccess for >> >>> the form - fields of custom types are null. I solved this problem with >> >>> pretty dirty work-around (I'm passing token with t:context and >> >>> restoring state from custom cache object. I'm receiving token with >> >>> onSuccess(String token)). So this problem can be considered solved, >> >>> but i think that there may be some better solution. More native for >> >>> tapestry. Like t:encoder when we using loop inside forms.) >> >>> >> >>> The second problem and I can't find out how to solve it - tapestry >> >>> rerenders always first component instance ActivityJournalItem. If with >> >>> loop we rendered 3 times, not depending what button was pressed always >> >>> exactly first zone is rerendered. Screenshoot: >> >>> http://my.jetscreenshot.com/2672/20100808-thdx-190kb.jpg >> >>> >> >>> So my question is: How to solve second problem and maybe there is >> >>> better solution for the first problem. >> >>> >> >>> I have a very little understanding on how tapestry internally works, >> >>> and I think there is something wrong with ids. Every zone in rendered >> >>> html has its own unique ID, but I cant see it when injecting zone with >> >>> "@Component Zone activityAjaxZone;". The clientId is null - maybe this >> >>> is the problem. And if I specify not only t:id but also id like >> >>> 'id="activityAjaxZone${someCustomToken}" ' it will result in other >> >>> problem - buttons do nothing - I can press it all day but no errors, >> >>> no actions - nothing. >> >>> I tried to debug, but there are many code injected in my class at >> >>> real-time, so I can't debug it. >> >>> >> >>> p.s. By the way - my test project is open-source and you can look at >> >>> full source code at google code: >> >>> http://code.google.com/p/tasks-journal/source/checkout >> >>> >> >>> >> >> >> >> >> >> --------------------------------------------------------------------- >> >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> >> For additional commands, e-mail: users-h...@tapestry.apache.org >> >> >> >> >> > -- >> > Best Regards, >> > Sergey >> > >> >> >> >> -- >> С Уважением, >> Карпушин Сергей >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org >> >> > -- С Уважением, Карпушин Сергей --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org