You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "francois (JIRA)" <ji...@apache.org> on 2015/07/23 23:06:07 UTC

[jira] [Created] (WICKET-5955) error from WebPage # reportMissingHead

francois created WICKET-5955:
--------------------------------

             Summary: error from WebPage # reportMissingHead
                 Key: WICKET-5955
                 URL: https://issues.apache.org/jira/browse/WICKET-5955
             Project: Wicket
          Issue Type: Improvement
          Components: wicket
    Affects Versions: 7.0.0-M6
            Reporter: francois
            Priority: Minor


Use case
-----------
on 'PageWithForm', after having filled the form, the user press a submit button.
A cookie has to be updated.
To trigger the update, a session attribute is set to false.

Then the user is redirected to a page : setResponsePage( new ResultPage() )
ResultPage extends Skeleton

In the Skeleton page, if the session attribute is set to false, the cookie is updated.
Then a NonResettingRestartException is thrown.


Problem
-----------
When I throw a NonResettingRestartException() in a page where I also override renderHead()
I get an error from WebPage # reportMissingHead

You probably forgot to add a <body> or <head> tag to your markup since no Header Container was
found but components were found which want to write to the <head> section.
<script type="text/javascript" src="./resource/org.apache.wicket.resource.JQueryResourceReference/jquery/jquery-1.11.3-ver-1435772778000.js"></script>
<link rel="canonical" href="https://localhost:8443/wicket/bookmarkable/com.quickstart.PageWithForm" />

but body and head tags are presents.


Sven Answer
-----------
you're SkeletonPage is interrupting its normal page rendering (#onInitialize() being triggered late from WebPageRenderer).
Thus in WebPage#validateHeaders() the page doesn't find its HtmlHeaderContainer, which it expects to exists already if rendering succeeded successfully.

So a) the error message is misleading and b) we may be able to improve this (e.g. checking #hasBeenRendered() before validating the headers).




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)