Re: T5 book: update
Oh yeah, I am sorry though May the book bring light on Tap. -- Best wishes, Eko SW http://swdev.blogs.friendster.com/my_blog/
Re: T5: passing values between layout component and page
Oh nevermind, it works now.. stupid browser still caching the old page. thx a lot! ronaldlee wrote: > > Thx Angelo. This seems to make sense, but I cannot make it to work.. will > try more. > > Ronald > > > Angelo Chen wrote: >> >> hi ronaldlee, >> >> you can pass the user name from the UserProfile page to the layout >> component, something like this: >> >> public class Layout { >> @parameter >> private String userName; >> // getter/setter here >> } >> >> in UserProfile.tml: >> >> > xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";> >> >> >> not tested code. >> >> a.c. >> >> >> ronaldlee wrote: >>> >>> Hi, >>> >>> I am building a page using layout component so that the layout can be >>> shared among other pages. >>> >>> The question I have is that I want my layout component (lets say >>> "/layout/Basic.tml) to have access to page params/variables. A simple >>> example would be that I have a UserProfile page which uses a layout to >>> display the menu. I want that layout to also display the user name as >>> greeting ("Hi ${username}!). But the "username" is initialized in the >>> page's function (onActivate if is passed from another page, or other >>> lifecycle functions, or a "Persist("flash") variable..). So how my >>> Basic.java can get the username info (to be displayed in its Basic.tml) >>> from the UserProfile page? Same question for the opposite way (page gets >>> values from layout component). >>> >>> thx! >>> >>> Ronald >>> >> >> > > -- View this message in context: http://www.nabble.com/T5%3A-passing-values-between-layout-component-and-page-tf4740907.html#a13558850 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T5: passing values between layout component and page
Thx Angelo. This seems to make sense, but I cannot make it to work.. will try more. Ronald Angelo Chen wrote: > > hi ronaldlee, > > you can pass the user name from the UserProfile page to the layout > component, something like this: > > public class Layout { > @parameter > private String userName; > // getter/setter here > } > > in UserProfile.tml: > > xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";> > > > not tested code. > > a.c. > > > ronaldlee wrote: >> >> Hi, >> >> I am building a page using layout component so that the layout can be >> shared among other pages. >> >> The question I have is that I want my layout component (lets say >> "/layout/Basic.tml) to have access to page params/variables. A simple >> example would be that I have a UserProfile page which uses a layout to >> display the menu. I want that layout to also display the user name as >> greeting ("Hi ${username}!). But the "username" is initialized in the >> page's function (onActivate if is passed from another page, or other >> lifecycle functions, or a "Persist("flash") variable..). So how my >> Basic.java can get the username info (to be displayed in its Basic.tml) >> from the UserProfile page? Same question for the opposite way (page gets >> values from layout component). >> >> thx! >> >> Ronald >> > > -- View this message in context: http://www.nabble.com/T5%3A-passing-values-between-layout-component-and-page-tf4740907.html#a13558794 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T5: passing values between layout component and page
Hi Ronald, You can declare same ASO(ApplicationStateObject) in both java classes, passing any values between any components. Basic.java and UserProfile.java ... @ApplicationState private Visit _visit; ... getters and setters Basic.tml ... ${visit.username} Marcus - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T5: passing values between layout component and page
hi ronaldlee, you can pass the user name from the UserProfile page to the layout component, something like this: public class Layout { @parameter private String userName; // getter/setter here } in UserProfile.tml: http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";> not tested code. a.c. ronaldlee wrote: > > Hi, > > I am building a page using layout component so that the layout can be > shared among other pages. > > The question I have is that I want my layout component (lets say > "/layout/Basic.tml) to have access to page params/variables. A simple > example would be that I have a UserProfile page which uses a layout to > display the menu. I want that layout to also display the user name as > greeting ("Hi ${username}!). But the "username" is initialized in the > page's function (onActivate if is passed from another page, or other > lifecycle functions, or a "Persist("flash") variable..). So how my > Basic.java can get the username info (to be displayed in its Basic.tml) > from the UserProfile page? Same question for the opposite way (page gets > values from layout component). > > thx! > > Ronald > -- View this message in context: http://www.nabble.com/T5%3A-passing-values-between-layout-component-and-page-tf4740907.html#a13557169 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
T5: passing values between layout component and page
Hi, I am building a page using layout component so that the layout can be shared among other pages. The question I have is that I want my layout component (lets say "/layout/Basic.tml) to have access to page params/variables. A simple example would be that I have a UserProfile page which uses a layout to display the menu. I want that layout to also display the user name as greeting ("Hi ${username}!). But the "username" is initialized in the page's function (onActivate if is passed from another page, or other lifecycle functions, or a "Persist("flash") variable..). So how my Basic.java can get the username info (to be displayed in its Basic.tml) from the UserProfile page? Same question for the opposite way (page gets values from layout component). thx! Ronald -- View this message in context: http://www.nabble.com/T5%3A-passing-values-between-layout-component-and-page-tf4740907.html#a13556906 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
ContextResource getPath()
Hi, Is there any particular reason that ContextResource's getPath() returns a relative path rather than an absolute one? In T4, I'm used to using assets as way to build "safe" links to resources. With ContextResource's getPath() returning relative paths, however, that doesn't work. I've wrapped it to prepend a "/", which does take care of the issue. I'm just wondering if there's something else that I'm missing. Thanks, Kevin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[T5] BeanModel and null values
Hi all, I'm working with the Grid component and customizing the BeanModel for display. I'd like to show complex paths in the grid. So, I've added them to the model and everything works well, except when there's a null somewhere along the path. Then in get an NPE in the ConduitWrapper. How does one go about handling null values in this case? I'd like to just register a null value handler and have it spit out "Not Available" if a null value occurs at all in the property path. For what it's worth, I can handle it in the template by controlling the cell rendering. But, as soon as one tries to sort that column, the NPE is triggered again. Any help would be much appreciated. Thanks, Kevin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Tap 4.1.3] multiple ognl evaluation problem (was Re: [Tap 4.1.2] Problem with repeated calls to an If component)
Hi all, I am on Tap 4.1.3 (using the released binary) and I am also experiencing this behavior. I cannot find any documentation on this situation or a workaround other than Jesse's comments in this thread. Can someone point me to more information on how to work around this multiple ognl evaluation? I am migrating a big application from Tap3 and I have lots of legacy code that is currently broken because of this behavior. Thank you, Aaron Jesse Kuhnert wrote: It's something that will happen to all ognl expressions for the next week or two. After that they will be resolved as per normal in development mode and jit'ed in production. On 5/17/07, Daniel Jue <[EMAIL PROTECTED]> wrote: Jesse, I stepped away from the computer for a bit, and I had just now submitted the JIRA before updating this conversation. https://issues.apache.org/jira/browse/TAPESTRY-1477 I am happy to know it is something that happens on purpose, and for developmental issues. I would hate to have my DAO's get called 3 times in production though, so if similar ensurances are left in, I hope there would be a way to turn it off via a flag, etc. Does this "ensuring" feature only apply to IF components, or to others as well? (i.e. are expressions for other components being evaluated multiple times?) I have one dynamic form component that can make use of up to 40 other core components based on multiple if/else components. I also feel assured now that this isn't some ill procedure that would potentially break something down the line. Daniel On 5/17/07, Jesse Kuhnert <[EMAIL PROTECTED]> wrote: > No need for JIRA issues - I know exactly why it's doing it and intentionally > have it running this way. > > Unfortunately it's the only sane way I know to make sure 4.1.2 is > releasable. There's no actual need for OGNL expressions to be compiled in > dev mode but otherwise I'd have no way of ensuring that your happily > developed app didn't work quite the same way in production. ...Would you > rather be annoyed for another week or two until the release or get a phone > call at 2am that the app is blowing up and wtf have you done we're totally > screwed? =p > > On 5/17/07, Andreas Andreou <[EMAIL PROTECTED]> wrote: > > > > Add a JIRA please. > > At least since 4.1.2-20070501.233137-64, i can see the first If getting > > called 3 times! > > And it's probably the first @If after an app reset that gets evaluated 3 > > times and not > > the first @If of a page. > > > > An old 4.1.2-20070215.051249-15 worked correctly, i cant test other (in > > between) > > versions right now due to dependencies incompatibilities. > > > > > > > > On 5/17/07, Daniel Jue <[EMAIL PROTECTED]> wrote: > > > > > > Ugh. This is a big pain now. I have a huge dynamic form that has > > > lots of IFs, and I can see the same queries being called 3 times or > > > more. =( > > > Everything still works, it's just about 3 times slower. > > > > > > If anyone has solved this problem please let me know! > > > > > > On 5/17/07, Daniel Jue <[EMAIL PROTECTED]> wrote: > > > > Here is another example when more than one IF component is used. > > > > > > > > It seems the conditional for the first IF gets called 3 times, then > > > > the others just get called once. > > > > > > > > plain.java: > > > > > > > > package com.phy6.app; > > > > > > > > import org.apache.tapestry.IComponent; > > > > import org.apache.tapestry.annotations.Component; > > > > import org.apache.tapestry.annotations.InitialValue; > > > > import org.apache.tapestry.html.BasePage; > > > > > > > > public abstract class plain extends BasePage { > > > > > > > > public boolean getDoStuff() { > > > > this.setNumber(this.getNumber() + 1); > > > > System.out.println("plain: getDoStuff() " + > > > this.getNumber()); > > > > return false; > > > > } > > > > > > > > @Component(type = "If", id = "ifXYZ", bindings = { > > > "condition=getDoStuff()" }) > > > > public abstract IComponent getIfXYZ(); > > > > > > > > @Component(type = "If", id = "ifABC", bindings = { > > > "condition=getDoStuff()" }) > > > > public abstract IComponent getIfABC(); > > > > > > > > @Component(type = "If", id = "ifDEF", bindings = { > > > "condition=getDoStuff()" }) > > > > public abstract IComponent getIfDEF(); > > > > > > > > @Component(type = "If", id = "ifGHI", bindings = { > > > "condition=getDoStuff()" }) > > > > public abstract IComponent getIfGHI(); > > > > > > > > @InitialValue("0") > > > > public abstract int getNumber(); > > > > > > > > @Component(type = "Insert", id = "wtfisgoingon", bindings = { > > > > "value=getNumber()" }) > > > > public abstract IComponent getWTFisgoingon(); > > > > > > > > public abstract void setNumber(int n); > > > > } > > > > > > > > > > > > > > > > plain.html > > > > > > > > > > > > > > > > Hi XYZ > > > > Hi ABC > > > > Hi DEF
Re: T5: component expansion unexpected
You are ending the element before the inner (etc) renders. Instead, you should end the writer in afterRender: void afterRender(MarkupWriter writer) { writer.end(); // } The corelib components are good examples to copy. Cheers, Nick. Angelo Chen wrote: Hi, I have a component : public class ImgDlg2 { @Parameter(required=true) private String _path; boolean beginRender(MarkupWriter writer) { if (_path != null) writer.element("a", "href", _path); else writer.element("a", "href", "#"); writer.end(); return true; } } template: < img src="test"/> I was hoping it will generate < a href="tm_3098.jpg">< img src="test" />< /a> but turned out: < a href="tm_3098.jpg">< /a>< img src="test"> anything wrong with my component? Thanks. A.C. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
T5: component expansion unexpected
Hi, I have a component : public class ImgDlg2 { @Parameter(required=true) private String _path; boolean beginRender(MarkupWriter writer) { if (_path != null) writer.element("a", "href", _path); else writer.element("a", "href", "#"); writer.end(); return true; } } template: < img src="test"/> I was hoping it will generate < a href="tm_3098.jpg">< img src="test" />< /a> but turned out: < a href="tm_3098.jpg">< /a>< img src="test"> anything wrong with my component? Thanks. A.C. -- View this message in context: http://www.nabble.com/T5%3A-component-expansion-unexpected-tf4738354.html#a13550437 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T5 book: update
On Nov 1, 2007 2:37 AM, Kolesnikov, Alexander GNI <[EMAIL PROTECTED]> wrote: > The book is not ready yet. I had to completely rewrite chapter 5 upgrading it > to 5.0.6 as Grid and BeanEditForm are so much easier to deal with now. If > everything goes well, the book should become available in December. I thought > there will be a PDF version too, but the publisher has just informed me that > they stopped providing PDF copies for new titles to counter piracy... I attended a talk by Andy Hunt, of Pragmatic Programmers. They've found that the most powerful anti-piracy tools for their PDF books was: put the buyer's name in as text (and a watermark). Andy regularly checks P2P networks for copies of their books. On the rare, very rare, occasion that he finds one, he contacts the buyer and his experience, universally, has been that the file was offered up by accident and is immediately taken down. Andy agrees with most authors that PDF books spur dead tree sales, or fill a niche that was otherwise go unsold. Add one drop of DRM to the mix and the whole equation changes, which is why other publishers have had so little success with PDF books. > > Will keep you updated. > > -Original Message- > From: Donyee [mailto:[EMAIL PROTECTED] > Sent: 01 November 2007 03:39 > To: Tapestry users > Subject: Re: T5 book: update > > > > Where is the book? > Can someone give me a copy? or the download url ? > > > 2007/11/1, Eko S.W. <[EMAIL PROTECTED]>: > > > > I am sorry, but How can we use DateField in 5.0.6? > > I am so late on 5.0.6 > > > > Thanks > > > > 2007/10/26, Ted Steen <[EMAIL PROTECTED]>: > > > > > > Very nice! > > > Dont forget to update the part about the DatePicker. It is now > > > obsolete. T5.0.6 now includes a DateField as a part of the core. > > > > > > > -- > > Best wishes, > > Eko SW > > http://swdev.blogs.friendster.com/my_blog/ > > > > > > -- > 徐 依伟 > > -- > > CONFIDENTIALITY NOTICE: If you have received this email in error, please > immediately notify the sender by e-mail at the address shown. This email > transmission may contain confidential information. This information is > intended only for the use of the individual(s) or entity to whom it is > intended even if addressed incorrectly. Please delete it from your files if > you are not the intended recipient. Thank you for your compliance. > Copyright 2007 CIGNA > == > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Howard M. Lewis Ship Partner and Senior Architect at Feature50 Creator Apache Tapestry and Apache HiveMind
Re: General question regarding Web 2.0 and Tapestry
Hi, Same as you, no idea at all about this web 2.0. came from c/s world hoping web 2.0 can help in developing c/s like app, and after a while, found out that a server framework like T5, Javascript(or better a library like jQuery), html/css/DOM, plus the browser's capability to do background communication with server(xmlhttprequest) is enough to enable us to develop desktop like application, maybe that's web 2.0? A.C. Ravi Shankar-9 wrote: > > I don't have a clear definition of web 2.0. THis is what wiki says > Web 2.0 websites typically include some of these features: > > -- View this message in context: http://www.nabble.com/General-question-regarding-Web-2.0-and-Tapestry-tf4735860.html#a13546650 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Getting BigDecimal Translator to work
I have written a BigDecimal translator which converts String -> BigDecimal, but It doesnt seem to work. In my class, I have added the following: public static void contributeTranslatorDefaultSource( MappedConfiguration configuration) { configuration.add(BigDecimal.class, new BigDecimalTranslator()); } public static void contributeTranslatorSource( MappedConfiguration configuration) { configuration.add("bigdecimal", new BigDecimalTranslator()); } public static void contributeTypeCoercer(Configuration configuration) { Coercion to = new Coercion() { public BigDecimal coerce(String input) { return new BigDecimal(input); } }; Coercion from = new Coercion() { public String coerce(BigDecimal input) { return input.toString(); } }; configuration.add(new CoercionTuple(String.class, BigDecimal.class, to)); configuration.add(new CoercionTuple(BigDecimal.class, String.class, from)); } any ideas what might be going wrong ? This translator doesnt seem to register itself. --Thanks. -- View this message in context: http://www.nabble.com/Getting-BigDecimal-Translator-to-work-tf4737073.html#a13546610 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: how to translate input into double/float value
How can we add DoubleTranslator.java into Existing application?? Thanks. Nick Westgate wrote: > > You provide a translator. The framework provides one for Double etc: > http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/translator/ > > You can add more in your AppModule.java, like this ... > (I know this seems like overkill, but will likely be improved later.) > > // add a Float translator > public static void contributeTranslatorDefaultSource( > MappedConfiguration, Translator> configuration) > { > configuration.add(Float.class, new Translator() > { > /** > * Parses blank values to null, otherwise parses the client > value to a float > * > * @throws ValidationException if the clientValue can not be > parsed > */ > public Float parseClient(String clientValue, Messages > messages) > throws ValidationException > { > if (InternalUtils.isBlank(clientValue)) > return null; > > try > { > Float result = new Float(clientValue.trim()); > if (result.isInfinite()) > { > throw new > ValidationException(messages.format("number-range-exception", > clientValue)); > } > return result; > } > catch (NumberFormatException ex) > { > throw new > ValidationException(messages.format("number-format-exception", > clientValue)); > } > } > > /** > * Converts null to the blank string, non-null to a string > representation. > */ > public String toClient(Float value) > { > return value == null ? "" : value.toString(); > } > }); > } > > Cheers, > Nick. > > > Imran Amajd wrote: >> Hello, >> >> Please guide me how i can translate input value into double or float. >> Thanks >> >> -Imran Amjad > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/how-to-translate-input-into-double-float-value-tf4611891.html#a13545254 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: General question regarding Web 2.0 and Tapestry
I don't have a clear definition of web 2.0. THis is what wiki says Web 2.0 websites typically include some of these features: * Rich Internet application techniques, often Ajax-based * Semantically valid XHTML and HTML markup * Microformats enriching pages with additional semantics * Folksonomies (in the form of tags or tagclouds, for example) * Cascading Style Sheets to separate presentation from content * REST and/or XML- and/or JSON-based APIs * Syndication, aggregation and notification of data in RSS or Atom feeds * Mashups, merging content from different sources, client- and server-side * Weblog publishing tools * Wiki or forum software, etc., to support user generated content Thanks for your inputs. Ravi On 11/2/07, Angelo Chen <[EMAIL PROTECTED]> wrote: > > hi, > > if web 2.0 means those interactive websites, then Tapestry 5 plus a > javascript framework like jQuery or Ext can do that. > > > Ravi Shankar-9 wrote: > > > > Folks, > > > > I am still new to Tapestry and evaluating 4.1.3 version as of today. I > > am curious to know if any of you - or know someone/somewhere - that > > uses Tapestry for web 2.0 business application, notably B2B > > application. > > > > If you can share your experience or point me to the relevant place, I > > will be glad to take a look. > > > > TIA and best, > > > > Ravi > > > > - > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > -- > View this message in context: > http://www.nabble.com/General-question-regarding-Web-2.0-and-Tapestry-tf4735860.html#a13543463 > Sent from the Tapestry - User mailing list archive at Nabble.com. > > > - > 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]
Re: Submitting Html Form is not working properly in Tapestry 5
> I am using Tapestry 5. I don't think so. Your code is using Tapestry 4 syntax. Cheers, Nick. Imran Amajd wrote: Hello EveryBody, I am using Tapestry 5. Problem: There is a submit button attached with listener (say OnSave()) and a text field after the Submit button on html form. like when i submit this form, the pageBegin render is called, and form is rewinded. then listner is callled. but i can not access the value the user has enterd. then page begin render is again called and now i can see what value user entered. Then i shift the @TextField Component before @Submit Comp. like Now in Listener, i can see what user has entered. Is this a possible Tapestry BUG or there is something i m not getting into it? Please dont hesitate to give your feedback on it. Thanks. Imran Amjad. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Submitting Html Form is not working properly in Tapestry 5
Hello EveryBody, I am using Tapestry 5. Problem: There is a submit button attached with listener (say OnSave()) and a text field after the Submit button on html form. like when i submit this form, the pageBegin render is called, and form is rewinded. then listner is callled. but i can not access the value the user has enterd. then page begin render is again called and now i can see what value user entered. Then i shift the @TextField Component before @Submit Comp. like Now in Listener, i can see what user has entered. Is this a possible Tapestry BUG or there is something i m not getting into it? Please dont hesitate to give your feedback on it. Thanks. Imran Amjad. -- View this message in context: http://www.nabble.com/Submitting-Html-Form-is-not-working-properly-in-Tapestry-5-tf4736056.html#a13543685 Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]