Hi Em,
Hi Josh,
thanks for your feedback!
I already saw this Wiki-page yesterday.
Well, the point is, that I want to include the markup *in* the markup
(i.e. output it in some panel inside of a script-tag so that JavaScript
is able to get the markup).
So *while* you are rendering, you want to know the schema Wicket is
rendering on to include it in some places before outputting.
you should have a look to method Component.renderHead(IHeaderResponse
response). If you override it you can write an arbitrary string to the
header section. For example you could do something like:
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
response.renderJavaScript(myUserView.getMarkup().toString(true),
"markupUser");
}
This will put the markup of myUserView inside a script tag with
id="markupUser".
I saw that Velocity integration is possible with Wicket and as far as I
saw there are no problems or drawbacks with it - can you confirm that?
Regards,
Em
Have you seen this example
http://wicket.apache.org/learn/projects/velocity.html ? Maybe it could
help you.
Am 27.11.2011 09:31, schrieb Josh Kamau:
Hi there,
Look for instructions on how to remove wicket tags here:
https://cwiki.apache.org/WICKET/how-to-remove-wicket-markup-from-output.html.
Also look around to learn how to do a thousand other things in wicket.
Kind regards.
Josh.
On Sun, Nov 27, 2011 at 3:42 AM, Em<[email protected]> wrote:
Hello list,
I am absolutely new to Apache Wicket (and new to writing
java-web-frontends instead of web-services) and not sure whether it is
right for my needs.
I got some questions regarding the rendering process.
For template sharing between client and server it would be great if I
can get a wicket-tag-free template-version at processing time.
The idea:
My Wicket-template looks like:
<wicket:panel>
<table>
<tr>
<th>$userNameTitle</th>
<th>$lastLoginTitle</th>
</tr>
<tr wicket:id="users">
<td><span wicket:id="username">$userName</span></td>
<td><span wicket:id="lastLogin">$lastLogin</span></td>
</tr>
</table>
</wicket:panel>
When I am interested in the user's section, I want to do the following
(in pseudo-code):
myUserView.getTemplate();
//output is completely freed of Wicket-specific stuff:
<tr>
<td><span>$userName</span></td>
<td><span>$lastLogin</span></td>
</tr>
However I am even happy with this output:
<tr>
<td></td>
<td></td>
</tr>
NOTE: The inner wicket:id's were left. Maybe I have to call their
content seperately (and then getting their content together with the
corresponding placeholders).
What is the main idea behind that?
A collegue of mine comes from the PHP-corner. They were able to share
the template between server and backend, so that a client-side
JS-template-engine rendered the same HTML as the server's
template-engine (PHP).
On AJAX-requests they were saving a lot of traffic and ressources, since
they just needed to serialize their PHP-models to JSON and respond them
to the client.
Their JavaScript developers did not need to know about the PHP-backend.
Using Apache Wicket, I want to achieve the same with a Java-backend.
Another thing:
Using PHP and a placeholder-like template-engine that supports basic
logic (if, else, loops) their designers did not need to know about the
PHP-classes that are responsible for creating the placeholders as long
as they worked correctly.
So a designer without knowledge about the backend's language was able to
work on a template. He was able to give even and uneven rows in a table
different colours right from the template's logic.
Is this possible with Apache Wicket, too?
Any other suggestions, opinions, advices? :)
Regards,
Em
---------------------------------------------------------------------
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]