I am using 5.0.5 and was able to get the example from the wiki working
when I made the PropertyAccess injection private.
Many thanks to the contributors of the wiki for all of the Tapestry 5
How Tos, they have been very helpful!
Thanks,
Adam
-Original Message-
From: Davor Hrg
I'm with thiago here,
module is not something we change all the time
like pages and components, it gets written bit by bit.
Naming conventions here don't speed-up development in scope
of the whole project.
@Contribute(FooBar.class)
I would even say it's faster because you can use autocomplete.
wonder how I missed that one ;-)
thanks!
Jonathan Barker wrote:
Use the OutputRaw component.
-Original Message-
From: Britske [mailto:[EMAIL PROTECTED]
Sent: Wednesday, October 17, 2007 12:16 PM
To: users@tapestry.apache.org
Subject: T5: how to insert string including markup
I have a use-case in which i need to catch a onchange of of select-component
on the server-side.
The only way I know how to do that is do a javascript
onchange='this.form.submit()' and catch the onsubmit() event on the
serverside.
This works well when i don't have a submit-component in the form
Hello !
I was wondering what kind of components people are looking for that
are not yet available as an open source example.
[...]
What else is out there (either on the web or in a rich client) that
you'd rather not reinvent?
I think that a tree component would be great.
The component
The one question I could not answer without looking ridiculous was What
happens to our multi-million dollar project if Howard is hit by a bus
tomorrow
I think the question is irrelevant. The question you should be answering:
Is the current base usable enough to push through on the project?. A
I have an simple tree component...
I hate those tree implementations with nodes and recursions like
dojo.tree.. feels so heavy
there is already a very nice tree example on the wiki by ErikVullings
using :
http://www.dhtmlgoodies.com/scripts/drag-drop-folder-tree/drag-drop-folder-tree.html
I would suggest that you use AJAX instead of doing the form submit.
Although the AJAX integration in T5 is still not implemented it's very
easy to do using the provided prototype and json javascripts. I did this
successfully for some simple events also.
Shortly, here's how i did it:
In my
thanks that works partially.
However, the event is only catched twice:
1. on pageload (??m the sendRequest isn't called, but somehow the
getTheLink()-method is executed.)
2. the first time i send a onchange.
However after the first onchange all other onchange-event don't get
getTheLink()
That's the way it's supposed to be.
You only see the getTheLink method executed once because that what it
need to replace ${theLink} in your template with the correct link that
is returned from your method. This is done once when the page renders.
If you look at the rendered page source you
yeah indeed it is only called once when the template is rendered, I
discovered now.
However i don't need to return a dynamic url or whatever based on the
getTheLink-method.
what I need is a way to reliably catch a event at the server/java side (in
this case onChange) every time that event
The question is very relevant. The concern of the project should be to build
out the business functionality using existing tools. If the tools in
question are not yet released and in production, there is a very legitimate
concern that the maintenance of the tool will become a partial focus.
The method i suggested is implemented so that you don't have to submit
the form. That's what AJAX is all about, you make a request to the
server and then update a portion of your page based on the response from
the server using javascript. There's no page reload of for submission.
Britske
okay, I like peristent data very much. On the other hand I want to have pages
in which several persistent properties are encoded into the querystring (for
better bookmarking and other requirements from a user-perspective).
so my question is:
is there a way to encode / decode certain persistent
first of all, excuse me for the post-flood, but I had some standing issues.
Perhaps some of these questions can help others as well so here this one
goes:
I was on a roll until i wanted to include the name of a City-instance
through a template expansion, which gave the error:
Could not convert
I think Kranga is spot on. As a software engineer, my personal opinion is,
that from a technical point of view Tapestry 5 is the best framework out
there. However, going to client sites aiming to convince the stakeholders to
adopt T5 is extremely difficult because they have absolutely no
Yes I Michael, I know how this sounds but is a bit more complicated than
that.
Let me just say that I was hoping for the final T5 release to be at the end
of this month so it can be ready for us by June 2008. That would have been
good enough since I do agree T5 is the best framework I have
Folks,
I have a widget that extends from Image and automates a temporary surrogate
image if the image happens to be blank.
public abstract class MimedImage extends Image
No forms... no templates... no html. Just a pure java tapestry widget.
And it also fixes up mime properties too. In
Ugh. It's the one thing that was different and I was too bleary-eyed
to notice. That worked. Thanks.
Christian.
On 18-Oct-07, at 2:12 AM, Adam Ayres wrote:
I am using 5.0.5 and was able to get the example from the wiki working
when I made the PropertyAccess injection private.
Many
Malin Ljungh schrieb:
Hi all,
I've got some annoying stack traces in my log from bots, primarily a bot
called LiteFinder but also Googlebot. (the LiteFinder seems to get lowercase
URLs which results in many org.apache.tapestry.PageNotFoundException since I
use uppercase first letter of my
I'm not sure where incompatible releases comes in. No one releases
1.0 - 2.0 compatible releases except O/S vendors. That's typically
what the large version number change means - these are incompatible.
That's not a strike against Tapestry, that's an industry expectation.
Christian
On
I think this merely means that T5 should release sooner than later
with a smaller functionality set, and release a 5.1 with the
additional features. At this point, it's part perception, etc. But
if the core is stable, then 5.0-RELEASE could be compared with JSF,
Wicket, etc. on a
Hi Chris,
Can't agree more. T5 is stable enough to be released. if I was hesitant to
learn a unreleased T5 for my first web framework at beginning, how much more
a businese putting their project development on it? the only reason I can
think of is, maybe there is still some plans to change
Hi,I have this page that want to update a boolean field in the gird
directly.But a wrong message was reported.Here is the .tml file:t:formtable
t:type=grid t:source=works t:model=workBeanModel row=currentWork
t:parameter name=TFCellt:checkbox value=currentWork.TF/!-- Here is the
line of code
Bob,
The documentation is correct, but requires some getting used to.
A layout component is more of a design pattern (like the Border in T4). It
is designed to be wrapped around something. That something appears where
you see t:body /
The naming is by convention. I'm still using a T4
Thanks for the reply.
Ok, the page specific content:
t:layout
xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd;
My Page Specific Content
/t:layout
is stored in its own .tml file, right? Call it specific.tml
Now, the layout template, as specified by the documentation,
On Thu, 18 Oct 2007 13:05:48 -0300, Heck, Bob [EMAIL PROTECTED] wrote:
So, how does layout.tml know to use specific.tml to fill in the
t:body/ tag? Does it have to be injected somehow? Where does it get
a reference? How is this done?
t:body just renders whatever was put inside your t:layout
Something interesting: if t:body/t:body you will get some runtime
warning, but t:body / everything's fine.
Thiago H. de Paula Figueiredo wrote:
On Thu, 18 Oct 2007 13:05:48 -0300, Heck, Bob [EMAIL PROTECTED] wrote:
So, how does layout.tml know to use specific.tml to fill in the
t:body/
Hi, Bob.
When the specific.tml page is requested, Tapestry asks its components to
render themselves to generate the response. So, when t:layout on
specific.tml is asked to generate content, it knows that its body is My
Page Specific Content. The content written by the component is:
html
Ok, I solved my problem and thought I'd share...
It seems like the way to add packages to the hibernate configuration
changed? The 5.0.5 way is:
contributeHibernateSessionSource(ConfigurationString configuration)
the 5.0.6 way is
contributeHibernateEntityPackageManager(ConfigurationString
t:layout and t:body are in two separate files. How does that work?
-Original Message-
From: Thiago H de Paula Figueiredo [mailto:[EMAIL PROTECTED]
Sent: Thursday, October 18, 2007 12:17
To: Tapestry users
Subject: Re: Templates and t:body
On Thu, 18 Oct 2007 13:05:48 -0300, Heck,
Yeah i see/know, but for the discussion say that I want AJAX to change a
portion of the page every time a onChange-event fires (the server-side
method CallWhenOnChangeIsFired() should be called through AJAX whenever this
happens ans this method changes sets the necessary fields / performs a
Or, maybe I should just start at the top.
I have a header that I want to display on every page. That header html (tml)
markup is stored in the file header.tml
How do I include this in another file, say hello.tml? What is the syntax and
component usage?
-Original Message-
From:
If you want to parameters to the query string then you can create a link and
add parameters to it from within your page.
http://tapestry.apache.org/tapestry5/apidocs/org/apache/tapestry/Link.html
Josh
On 10/18/07, Britske [EMAIL PROTECTED] wrote:
okay, I like peristent data very much. On
The example i provided fires the call to the server whenever the
javascript function is called.
So, if you call the function from an onchange event on a select the
method will be called every time you change the selectbox.
select onchange=sendRequest() ...
/select
Britske wrote:
Yeah i
Sorry, I only answered half of your question.
Including your standard header into hello.tml would be something like:
html xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd;
head
titleMy Tapestry Application/title
/head
body
t:header /
My Page
I should type faster (and stop eating). Lots of good responses to your
questions.
If all you want to do is include a header, then you don't need to use the
layout pattern, so header.tml can be something like:
h1some standard header/h1
And that's it.
The layout pattern is handy if you want to
Hi Bob,
Header.tml:
html xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd;
head/head
body
t:body/ !-- This tag will render your Hello.tml --
/body
/html
Hello.tml:
t:Header xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd;
Hello Word!
/t:Header
Marcus
Hi Jonathan,
I tried your approach, but does not work, here is my steps:
1. create a Header.html in component directory, it has only one line:h2hi
my heading/h2
2. I use it in my start.html:
html xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd;
head
titleStart Page/title
/head
Hi Bob,
Think of the element t:layout as a reference to your component, like
calling a method. The same goes for using t:textfield or any of the other
components, they just point to a component to run at that point of the page.
You can think of the contents of that element as an intrinsic
Did you create the Header.java?
On 10/18/07, Angelo Chen [EMAIL PROTECTED] wrote:
Hi Jonathan,
I tried your approach, but does not work, here is my steps:
1. create a Header.html in component directory, it has only one
line:h2hi
my heading/h2
2. I use it in my start.html:
html
I must have been sleeping earlier, because I figured that (in your example)
getTheLink() had to be called multiple times, instead of onMyAction()..
That solves a few things, now there's no need for a submit anymore, thanks!
Geert-Jan
HugoPalma wrote:
The example i provided fires the call
It worked for me. Make sure you have created a Header class in your
components package.
My .java files are bare class declarations, so here are my .tml files:
Hello.tml
html xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd;
headtitleSome Title/title/head
body
t:header /
/body
that would require a lot of manual labor for each and every link.
btw: my question relates to T5.
Say i had page B injected into page A.
I could then initialize page B and return page B from some eventhandler on
page A.
What I would want to accomplish is that this automatically results in
since your example effectively calls a ActionLink through AJAX, a redirect
DOES happen. It's the result of the ActionLink. If I'm seeing this correctly
what then is the advantage of doing a call through AJAX or a form.submit()
for the discussed purpose, since both result in a redirect?
Why do you say a redirect happens ? Does your page refresh when you
change the selectbox value ?
It won't refresh because all your doing is call a javascript function.
There's no redirect.
Britske wrote:
since your example effectively calls a ActionLink through AJAX, a redirect
DOES happen.
Hi there,
I 'd like to implement a DirectLink-like function using tapestry.bind
load functions in order to use the result in other Javascript functions.
Here is my simple example:
script type=text/javascript
var xmlDoc = new ActiveXObject(Microsoft.XMLDOM);
var content;
Folks,
Can someone provide clarity about usage of @SCRIPT
I have used this component successfully with my CustomHead.JAVA which is a
@Shell extension... and obviously this KIND of logic/code lives right around
the @Body component + html body tag
But I want to design/implement some
after the onchange occurs, this is what happens in my app:
1. onMyAction is executed() (this is an actionlink which returns nothing
(void) which results in a client-side redirect to the same page
(as per documentation:
http://tapestry.apache.org/tapestry5/tapestry-core/guide/pagenav.html )
Ok, and you want to do this without implementing a passivate method on page
B...
That doesn't seem like a trivial problem to solve, especially in a safe and
general way. I'm pretty sure nothing like that exists now, but I believe all
the hooks are available to create your own annotations so you
If your getting a page redirect then your doing something wrong in your
code.
If you post it i can try and find the problem.
Britske wrote:
after the onchange occurs, this is what happens in my app:
1. onMyAction is executed() (this is an actionlink which returns nothing
(void) which
Post your code. I've never had a problem.
-Original Message-
From: Joshua Jackson [mailto:[EMAIL PROTECTED]
Sent: Thursday, October 18, 2007 10:30 PM
To: Tapestry users
Subject: Re: T4: creating search form and search result on one page
On 10/19/07, andyhot [EMAIL PROTECTED]
On 10/19/07, andyhot [EMAIL PROTECTED] wrote:
Of course it's possible - I usually have an If component that either
shows the table
or an @Insert of No results found...
What's the real problem you're having?
The problem is the search result is not displayed if it is on the same
page with the
For a use case where some action doesn't depend on validation.
Perhaps there some parts of a page are validated, but a cancel
or delete button or something would need to operate regardless.
Cheers,
Nick.
Angelo Chen wrote:
Hi,
in a form, after onValidate there are still two events: onSubmit
In Tapestry (all versions) when you use the word include to
describe something, you should be thinking about components.
Either the header goes in your Border/Layout component, or you
make a header component which gets rendered in a Border.
The documentation for Tapestry's special t:body
Hugo defined myAction as returning a StreamResponse - no redirect.
Geert-Jan says myAction returns void - a redirect occurs.
Cheers,
Nick.
Hugo Palma wrote:
If your getting a page redirect then your doing something wrong in your
code.
If you post it i can try and find the problem.
Britske
Dear all,
Is it possible to create a search form and search result on one page
where the search result uses contrib:table? I tried to do this but it
didn't work, but if the search result is on (redirected to) another
page it works. Does anyone have a workaround/solution for this?
Thanks in
Hi,
in a form, after onValidate there are still two events: onSubmit and
onSuccess, onSuccess will be triggered only everything pass validation, I
use onSuccess all the time, I'm wondering in what situation we should use
onSubmit? Tnx,
A.C.
--
View this message in context:
Of course it's possible - I usually have an If component that either
shows the table
or an @Insert of No results found...
What's the real problem you're having?
Joshua Jackson wrote:
Dear all,
Is it possible to create a search form and search result on one page
where the search result uses
Here is the html template of search form and search result underneath it:
span jwcid=@Layout
form jwcid=[EMAIL PROTECTED]
table width=100%
tr
td width=35%span jwcid=@Insert
value=message:app.number //td
60 matches
Mail list logo