Hi,
To abort the construction of the page, you throw
ResetResponseException or subclasses.
Regards,
Bernard
On Fri, 4 Nov 2011 19:12:34 -0700 (PDT), you wrote:
Hi,
Geoff Hayman raised this issue previously here:
Hi Alec,
Wicket 1.5.1 includes an improvement that deals with expired pages
gracefully if they are mapped.
See https://issues.apache.org/jira/browse/WICKET-4014
Regards,
Bernard
On Fri, 30 Sep 2011 15:26:15 -0600, you wrote:
Hello,
I have recently reviewed our application log files and
Alec,
Please download the testcase from the Jira attachment. It contains
workarounds for HybridUrlCodingStrategy and AJAX requests.
Regards,
Bernard
On Sat, 1 Oct 2011 13:40:10 -0600, you wrote:
Hello and thank you for a good JIRA resource.
I am using Wicket 1.4.18 and my page is mounted
Hi Gert-Jan,
I can't comment on your unit test but I have found a similar issue in
1.5.1:
WicketTester does not handle RedirectToUrlException
https://issues.apache.org/jira/browse/WICKET-4104
IMHO in a page constructor, it is preferable to use
ResetResponseException or RedirectToUrlException.
Hi,
How do I add a cookie to a URL redirect response? I started with the
following class:
public class RedirectToUrlWithHandlerException extends
ReplaceHandlerException {
...
public RedirectToUrlWithHandlerException(final String redirectUrl,
final int statusCode, final IRequestHandler
Hi,
In 1.4, in a page constructor, we can call setRedirect(false);
What is the equivalent of this in Wicket 1.5?
The purpose of it is to avoid the creation of a new request. I am
aware of the consequences of doing this in 1.4, and I am prepared for
them in 1.5, too.
Many thanks.
Bernard
Martin,
Thanks very much, got the idea!
Regards,
Bernard
On Fri, 2 Sep 2011 09:31:39 +0200, you wrote:
Wicket automatically decides whether redirect is needed for the
current request or not depending on the configured
org.apache.wicket.settings.IRequestCycleSettings.RenderStrategy and by
Hi,
in 1.4, I could get the last page instance with
WebRequestCycle#getResponsePage()
In 1.5, I cannot find org.apache.wicket.Page instances, only
IRequestablePage, and this indirectly via
(RenderPageRequestHandler)getActiveRequestHandler()
Any help is appreciated.
Kind Regards,
Bernard
Hi,
The following markup is used to stuff a form component inside the body
of a border where validation feedback is displayed below the form
component:
wicket:border
wicket:bodyForm Component/wicket:body
!-- feedbackContainer because of the br/ tag that has to be
removed
if
public class FormFeedbackBelowBorder extends Border implements
IFeedback {
private static final long serialVersionUID = 1L;
private String inputStyleClassNormal;
private String inputStyleClassFeedback;
private MyFeedbackLabel feedbackLabel;
// feedbackContainer: So we can
Thanks Martin, it works.
On Sun, 28 Aug 2011 14:35:02 +0300, you wrote:
Border.add() delegates to .addToBodyContainer().
Use .addToBorder() to add something that is ot of the body.
It is in the migration guide
-
To
Hi,
I would think that under normal conditions, Wicket prevents double
submits from occcuring. That should be part of any framework
functionality.
So if you observe a scenario where double submit is possible, then
please create a testcase with a quickstart, see
Hi,
How do you get fast deployment in development with large Wicket EJB
applications?
Wicket pages are ordinary class files that do not always seem to have
special redeployment support like JSP files or HTML files.
I have an EJB 3.1 app deployed on GlassFish 3.1. Web pages in the web
directory
Without having tested it, I would try to create a permanent session,
hoping that the framework would do the rest in order to create server
side state for the page:
session.bind()
The idea behind this is that Wicket can do AJAX only for stateful
pages.
Regards,
Bernard
On Sat, 19 Mar 2011
Hi,
I was pleasantly surprised to see that Wicket inherits
MyPageAbstract.html for two page classes MyPage1.java extends
MyPageAbstract and MyPage2.java extends MyPageAbstract.
The two implementations work fine without having their own markup -
Wicket loads the markup MyPageAbstract.html for
Sorry, it actually works, had a typo :)
On Sun, 13 Mar 2011 16:24:55 +1300, you wrote:
Hi,
I was pleasantly surprised to see that Wicket inherits
MyPageAbstract.html for two page classes MyPage1.java extends
MyPageAbstract and MyPage2.java extends MyPageAbstract.
The two implementations work
Thanks Ernesto.
It is doable without JavaScript:
WebRequestCycle requestCycle = (WebRequestCycle) RequestCycle.get();
WebRequest webRequest = (WebRequest) requestCycle.getRequest();
HttpServletRequest httpServletRequest =
webRequest.getHttpServletRequest();
Hi,
I need to invalidate the web session after a panel of the current page
is replaced.
All my attempts are failing because webSession.invalidate() or even
webSession.replaceSession(); have an influence on the current
request/response.
Typically, one would just show a new page, e.g.
What about
redirectToInterceptPage(new FormPage());
and in FormPage onSubmit:
if (!continueToOriginalDestination()) {
setResponsePage(Application.get().getHomePage());
}
Regards,
Bernard
On Wed, 1 Sep 2010 20:30:20 -0700, you wrote:
do not pass the page, pass the page reference, see
Hi,
IModelPerson personModel = getPersonModel();
ListGender genders = getGenderList();
DropDownChoice dropDownChoiceGender = new
DropDownChoice(genderFieldId, new PropertyModelGender(personModel,
gender), genderList);
Regards,
Bernard
On Thu, 2 Sep 2010 10:02:27 +0300, you wrote:
Hello,
Hi,
If you use the default ant projects in NetBeans, then you get deploy
on save with session preservation.
I haven't found this functionality in maven under netbeans yet.
You don't need to re-start any server just save your file and reload
the page.
The advantage is that you can develop the
Hi,
A2:
http://blog.armstrongconsulting.com/?p=14
A4:
I will look at this in 1.5 myself at some stage as well, so please
keep in touch. Meanwhile, have you seen
http://day-to-day-stuff.blogspot.com/2008/10/wicket-extreme-consistent-urls.html
I have a special use case for this where I don't
Hi,
I had a stateless login form that did actually not expire
... until I added an image as submit button.
Sorry to raise this topic again, but AFAIK this has not been answered
yet:
ImageButton - always stateful ?
Hi Johan,
Thanks.
How is it possible that this is true with any ImageButton constructor:
(getImageResource() == null localizedImageResource.isStateless())
On Fri, 20 Aug 2010 13:25:11 +0200, you wrote:
an image button can be stateless:
protected boolean getStatelessHint()
{
Hi,
I switched off cookie suport in FireFox 3.6.3 to test whether an
application still works via URL rewriting:
In FireFox Tools|Option|Privacy|History|FireFox will:Use Custom
Settings for History|Uncheck Accept Cookies from Sites
Then with the most basic panel replacement (no AJAX), I always
Hi,
I filed a testcase here:
https://issues.apache.org/jira/browse/WICKET-3000
Bernard
On Wed, 18 Aug 2010 20:47:22 +1200, you wrote:
Hi,
I switched off cookie suport in FireFox 3.6.3 to test whether an
application still works via URL rewriting:
In FireFox
Hi,
I get two instances of wicket-event.js and other resources in the
browser cache due to the probing for client cookie suport on the first
page in the browser session. One with jsessionid in the URl and one
without.
Can Wicket delegate the loading of these (extracted from the jar file)
files
Thanks Igor.
https://issues.apache.org/jira/browse/WICKET-2999
Regards,
Bernard
On Tue, 17 Aug 2010 18:31:50 -0700, you wrote:
you should file this as a bug, packagedresourcereference urls should
not be encoded with the session id
-igor
On Tue, Aug 17, 2010 at 6:30 PM, b...@actrix.gen.nz
Hi,
In a form with two submit buttons, a result must be calculated in
onError(), using the value of a FormComponent and depending on which
of the submit buttons was pressed.
I found that findSubmittingButton() and getDefaultButton() return null
in onError().
What to do?
Many thanks,
Bernard
Hi James,
Thank you very much for your reply.
It didn't work because the form was submitted with input type=image,
and I did not add an ImageButton for it.
Things would be a little easier if there was an overridable onClick()
method for submitting components not this Where was I type of back
to
Hi,
I use panel replacement on setVersioned(false) pages in combination
with HybridUrlCodingStrategy and the default
IRequestCycleSettings.REDIRECT_TO_BUFFER so that users stay on the
same page and cannot see previos versions when pressing the back
button. That is because all pages have the same
Yes I did. Is it better not to not do this?
Regards,
Bernard
On Thu, 29 Jul 2010 16:54:28 -0300, you wrote:
Hi Bernard, did you call setRequired method on your FormComponentPanel input
components?
like: formComponentPanel.fieldOne.setRequired(true)
On Thu, Jul 29, 2010 at 4:33 PM,
Hi,
Have you checked that rendered values in your components are
model-driven? If so then I think it should work. I sometimes set
values in the constructor with brute force when I do not expect any
changes. This is not what you want in this case.
I found it most helpful to exclusively use
Hi,
org.apache.wicket.markup.html.form.FormComponentPanel
aims to act to the outside world as one component.
I want it to behave in a way that it flags missing required input on
behalf of its enclosed components.
Imagine an input component with 4 fields for a credit card number.
If input in
Hi,
I have implemented a date chooser custom component with 3 combined
DropDownChoice components.
Like
http://blog.aparnachaudhary.net/2009/07/29/date-dropdownchoice-apache-wicket/
My overriding boolean checkRequired() is not called when the form is
submitted.
I then used FormComponentPanel
Have you checked that the wicket filter is called?
I found that the struts filter does not call filterChain.doFilter().
That may or may not be your problem depending whether anything else is
in its path after it. I suspect however that this is what you need
otherwise how can Wicket get the
Hi Erik,
I know the problem. It is a JavaScript problem, where the browser has
to construct an absolute URL from the relative URL that is in the HTML
fragment. The question is relative to what context this URL has to be
constructed in the browser - relative to the source of the fragment,
to some
Thanks Erik.
Why are you using absolute URLS?
Are you using absolute URLs to support editing in the web directory,
with a directory structure the same as the java package structure,
without breaking images?
Then it would look like you have found a different solution for the
same problem.
Hi,
You could have the files in a sibling directory in the web directory
that is hidden by the wicket filter mapping. Has many benefits.
Allows web developers to freely edit and view files in context with
links that actually work. FInally HTML refactoring will work. Can
someone suggest how to
Hi Fernando,
obviously quite a few including yourself are separating markup from
Java packages to make it accessable to HTML developers.
How do you cope with the fact that Wicket markup, when rendered in any
folder without flattening the package structure, gets broken images?
That is what I am
Hi
Yes, I understand that. But you have to put the markup for each
component somewhere. If it's not on the classpath, then you will not be
able to package that component into a JAR for re-use.
As I wrote, both methods co-exist, and you can put markup on the
classpath and package it as jar while
Hi,
I don't
agree that it's the best approach in all environments, and I think your
advice negates one of the best features of Wicket, namely the ability to
package complete Wicket components (including their markup and other
resources) into JAR files for convenient re-use across applications.
Hi,
My suggestions were meant to be general, and with best I actually
meant in all environments including certified J2EE servers.
Any number of environments (Igor suggested Jetty) may work with or
without these suggestions.
That is because deployment environments may or may not make decisions
Martijn,
You are making a *lot* of assumptions.
Not everybody uses Eclipse.
Nobody in this thread would consider restarts acceptable, still we are
using this subject.
HTML files location has to do with performance in the developing
process depending on how the IDE handles the files.
Please
Hi,
For best performance of redeploys in Wicket, consider storing HTML not
in the Java package structure but in the web directory. So if your IDE
and app server allow for hot deployment, then HTML changes deploy much
faster, ie instantly. In your application init(), you add one
statement
Thanks Igor.
That indeed looks very promising, and I replaced
RelativePathPrefixHandler with a variant but that doesn't seem to
work.
I had already filed a Jira issue
https://issues.apache.org/jira/browse/WICKET-2881
before I saw your response.
Regards,
Bernard
On Wed, 19 May 2010 14:51:59
Yes:
wicket:link
link rel='stylesheet' type='text/css' href='../../../../style.css'/
/wicket:link
WicketMessage: Exception in rendering component: [MarkupContainer
[Component id = _link2]]
Root cause:
java.lang.IllegalArgumentException: Invalid path ../../../../style.css
The path is valid
Hi,
It looks like Wicket may have the flexibility to replace elements of
the chain of IMarkupFilters without changing Wicket itself.
How can I replace RelativePathPrefixHandler with my own variant?
I have found
getPageSettings().getComponentResolvers();
But I am definitely missing the
Hi,
IDE technology now offers HTML refactoring support even including css
style selectors.
Dreamweaver supports HTML remplates.
In principle, Wicket could support these technologies due to its clean
HTML approach.
However, I have not been able to get any of this to work, because
Wicket ignores
Jeremy,
I am not asking for full previewbly in the sense that you are
describing. Obviously this is not possible in dynamic scenarios.
However, Dreamweaver provides templates where each panel can be
previewed in the context of a page so it is Dreamweaver that provides
full previewability. I have
Hi,
Where is it said that passing IModel is an issue? It could be an issue
if it is not a subclass of LoadableDetachableModel.
Bernard
On Sat, 15 May 2010 20:33:11 +0200, you wrote:
Hi,
Can someone explain me why it is a memory issue when an instance of an
anonymous IModel class is passed to
A nice NetBeans plugin:
http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=3586
Provides refactoring support and more.
So if you rename or move between packages any Wicket components
including pages then the plugin renames and moves the HTML, too.
I think that an IDE
Hi,
You can extend the DTD of the validator to accept the attribute.
!ATTLIST yourtag
wicketpath CDATA #IMPLIED
Bernard
On Tue, 27 Apr 2010 09:11:37 +0200, you wrote:
Hi,
For our project, we use the Wicket Stuff HTML Validator
Hi,
Wicket has its own mind - it changes IDs in HTML forms so JavaScript
breaks.
Example:
Source:
input type=button wicket:id=addButton id=addButton
value=Add/
Generated:
input type=button id=addButtona value=Add name=addButton/
Please note that Wicket renames the id from addButton to
Thanks a lot to you both for your solutions!
Regards
Bernard
On Mon, 12 Apr 2010 23:36:16 -0400, you wrote:
Like Pierre said, component.setMarkupId(component.getId()) will work, but it
was discussed just a couple of weeks ago why that's a bad approach. The
thread isn't appearing on nabble
But why in repeating views are the components duplicated for each row?
Wicket should re-use the components - one instance for each row could
do all the rendering. Not one instance for each row which is a waste.
Caching is a different concept as it also preserves the data which is
not wanted in
Igor,
I don't understand the optimal use of the different repeaters list
views in different scenarios well enough yet, so I would be greateful
if someone could provide a link for more documentation.
As far as I understand, though, refreshingview.setreuseitemstrategy()
is about re-using items -
I can't tell you all the rules for compatibility and interoperability
with Wicket's own js library. I think you will find answers on that
with web searches. But I can tell you that I use jQuery without
problems. I use jsTree, jqModal and other components. I exchange data
via Wicket HiddenField.
Thanks for the link to the issue.
Re: I don't know why they don't fix the problem.
I think the jQuery developer asks for a testcase. No testcase was
supplied, so I am not surprised that even after 7 months, nothing has
been done.
But when there is a testcase, and when even the offending line of
I don't know, in the header I read: Needs: Test Case
The bug still has status new, neither confirmed nor assigned.
I am referring to http://dev.jquery.com/ticket/4996
What am I missing? They might need a complete standalone page,
preferably zipped that loads jquery.js from the web and
Ernesto,
Possibly not enough. I would create a testcase as a web page with no
reference to Wicket as a start.
It is good to avoid any technical distraction because any distraction
causes friction and loss of energy.
You can of course mention that you are a Wicket developer, and give
some
Hi,
How can I run the wicket examples that are included in the
distribution in the NetBeans IDE?
I have tried to open the Maven project but I get errors [0]
'dependencies.dependency.version' is missing for
org.apache.wicket:wicket
It would be nice to have a quick and easy way to get these
Swing uses a variety of TableCellRenderer on a per table instance
basis. What component are you suggesting to use for this behavior in
Wicket?
Bernard
On Wed, 17 Feb 2010 11:04:09 -0800, you wrote:
i would imagine you would have the same problem even in a local
environment such as swing...
the
In case of repeated buttons I think I would use a combination of a
TableCellEditor and a TableCellRenderer with a button behind them,
still only single instances serving many rows. There would only be a
single event listener that would check selected row index. Would it
make sense to have that in
Many thanks. I like it. Good when memory is expensive :)
On Wed, 17 Feb 2010 16:21:16 -0800, you wrote:
we already provide support for all this...
class cheaprenderer implements ilinklistener {
protected void oncomponenttagbody(...) {
...
getresponse.write(href=\);
Hi all,
How is it possible to dynamically show and hide an additional dummy
row No items to show below a DataView?
I tried this with code similar to code below but it does not work even
though isVisible() is called. I have a small testcase ready to go.
It's quite basic so I must be missing
Hi Lester,
If you think your boss will not accept the benefits, then why not show
him the risk of sticking with a technology (Struts) that is in
decline? Then suddenly he shoulders the burden of making the desision
of taking ownership of a sinking ship.
Regards
Bernard
On Fri, 08 Jan 2010
JSF == Standard?
My question is: What should become a standard?
When I think about standards, then things that come to mind are:
- SQL
- ODBC
- Java
- JDBC
- EJB
- JPA
but not JSF. And not Spring. And not ... - you name it.
For some reason, possibly due to the fast evolving nature of the web,
VGJ,
You might have discovered a limitation of the system or a bug. As I
wrote, I would recommend you make a testcase with all distracting
detail removed and submit it as a jira issue, then post a link to the
the issue here.
I understand your frustration, but I think the above would be the best
Hi VGJ,
If, as you say you can reproduce this in your storefront app no matter
where you use it then you may want to reduce this to a testcase and
create a jira issue from it.
You are already writing that you can reproduce it and consequently it
would be only a matter of removing all distracting
Hi,
It is usually easier to have identical development and production
platforms. If then you get an error as you describe, you usually catch
it in development before it reaches production.
So why don't you develop with GlassFish?
Bernard
On Thu, 10 Dec 2009 02:36:49 +0800, you wrote:
Hi
Q: An applet tag does not get its archive attribute value resolved in
the output HTML in the same way
as img src attributes. How can I fix this?
A: See
org.apache.wicket.markup.parser.filter.RelativePathPrefixHandler
This currently only supports the attributes href, src,
background.
And then there is:
script type=text/javascript
src=http://java.com/js/deployJava.js;/script
script type=text/javascript
// See
http://java.sun.com/javase/6/docs/technotes/guides/jweb/deployment_advice.html
deployJava.setInstallerType('kernel');
Hi Peter,
When my response has EJB in it, it can't be MASSIVE because EJB, you
hardly worry about it.
EJB is great, easy to use, and Wicket with EJB is even better. VERY
powerful combination. The thing is it just works, and there is no need
to talk about it much, especially with the NetBeans
Hi,
It appears that Wicket already has everything I need:
- A global FeedbackPanel for any messages not necessarily associated
with components (a call error(...) displays the message on it)
- An individual ComponentFeedbackPanel for messages belonging to and
displayed in context of components.
Balaji,
If I understand you correctly, you want that the browser is redirected
to the response of a post request to site B after the user only sent a
post request to site A.
This is really not a Wicket question.
Web browsers cannot be directed to respond like this unless you send a
page with
Hi
It appears that I am fighting against the framework that limits my
choices when I start using LDMs (LoadableDetachableModel).
Many examples in the framework documentation don't use LDMs. For
simplicity, they assume that the domain object e.g. person is
available to a model in an instance
Hi,
Wicket has excellent support of versioning due to its server side
state, and not only that, it is well documented e.g. in the feature
list, wiki.
In my use case, versioning is controlled with the objective of turning
it off with Component#setVersioned(false) on page level.
This appears to
Hi,
I have been using panel replacement instead of multiple different
pages as a way to avoid a kind of back button problem but I am not
happy with my solution.
The objective is to prevent the user from going back after an update
to previous pages/versions of the page containing state of domain
Hi,
I am trying to prevent the leaking of business objects into the
session.
Michael made a good comment in
http://www.mail-archive.com/users@wicket.apache.org/msg31187.html
... you could e.g. temporarily remove the Serializable from your
model-classes and go spotting nonserializable
Igor,
Thanks very much for your suggestion which I followed.
I have overridden it and that is an improvement but still not good.
ListDataProvider dataProvider = new ListDataProvider(myList){
@Override
public IModelMyEntity model(Object object)
{
return new
Thanks again Igor.
I have switched to plain IDataProvider as suggested, although I have
to admit that I still have to look at the phonebook example.
Again, IDataProvider is an improvement, but still not good.
It appears that SerializableChecker is complaining about a volatile
field not being
Igor,
Creating the list of entities exclusively inside iterator() requires
two database calls for retrieving a list for a single request, the
additional call being required for the size() method that is called
prior to iterator(). That is an unfortunate side effect of this API.
I don't have a
Hi James,
Thanks for the question.
In this case, yes. In other cases where I use IDataProvider, no.
I know that IDataProvider provides functionality for pagination which
I don't use here, that is why I ignored it.
I must admit I have a few issues with IDataProvider but I don't want
to distract
Thanks very much!
As pointed out, I was incorrectly using the keyword volatile instead
of transient. All is well now with IDataProvider and
SerializableChecker.
SerializableChecker is great!
Bernard
On Thu, 5 Nov 2009 22:30:59 -0800, you wrote:
class mydataprovider implements idataprovider {
Hi,
I am seeking some help or links to documentation with IDataProvider
for DataView.
In my use case the size of the data grows while the user clicks
through list pages.
I wrote an IDataProvider implementation that progressively returns
larger values with the size() method.
However it fails
Peter,
If you already used Hibernate, then you probalbly don't want to deal
with raw JDBC anymore. JPA is the new standard, and even Hibernate is
compatible with it. I use NetBeans + EJB 3.0 including JPA + Wicket
which looks like an easy combination to me. On that level, if your
persistence
Hi,
With forms on Wicket pages, it appears that on submit which is HTTP
POST, Wicket redirects to the same page (the page from where the data
was sent) ad this is how we show feedback on the form page.
How is it possible to send the rendered form page back to the broser
as a direct response to
Jeremy,
jpswain referred to the gmail signup form. The gmail form initially hides
the check availability elements via div with style=display:none. It only
shows them when it detects that AJAX or JavaScript (don't know exactly) is
available. Would you know how we can implement this with wicket?
89 matches
Mail list logo