No one knows what's wrong?

Tom


Thomas Singer wrote:
> OK, I've tried to create an unversioned page to keep the URL stable using 
> following page code:
> 
>> public class DownloadFile extends TemplatePage {
>>
>>      // Constants 
>> ==============================================================
>>
>>      private static final String FILE_PARAMETER = "file";
>>
>>      // Static 
>> =================================================================
>>
>>      public static BookmarkablePageLink createLinkToPage(String id, String 
>> file) {
>>              final BookmarkablePageLink pageLink = new 
>> BookmarkablePageLink(id, DownloadFile.class);
>>              pageLink.setParameter(FILE_PARAMETER, file);
>>              return pageLink;
>>      }
>>
>>      // Setup 
>> ==================================================================
>>
>>      public DownloadFile(PageParameters parameters) {
>>              final String file = parameters.getString(FILE_PARAMETER);
>>              if (file == null) {
>>                      throw new 
>> RestartResponseAtInterceptPageException(Download.class);
>>              }
>>
>>              if (!getOurSession().isLicenseAgreed()) {
>>                      addContent(createLicenseFragment("contentPanel", 
>> parameters));
>>                      throw new RestartResponseAtInterceptPageException(this);
>>              }
>>
>>              addContent(createDownloadFragment("contentPanel", file));
>>      }
>>
>>      // Utils 
>> ==================================================================
>>
>>      private Fragment createDownloadFragment(String id, String file) {
>>              final Fragment fragment = new Fragment(id, "downloadFragment");
>>              fragment.add(new Label("file", file));
>>              return fragment;
>>      }
>>
>>      private Fragment createLicenseFragment(String id, final PageParameters 
>> parameters) {
>>              final Fragment fragment = new Fragment(id, "licenseFragment");
>>              fragment.add(new PageLink("accept", new IPageLink() {
>>                      public Page getPage() {
>>                              getOurSession().setLicenseAgreed(true);
>>                              return new DownloadFile(parameters);
>>                      }
>>
>>                      public Class getPageIdentity() {
>>                              return DownloadFile.class;
>>                      }
>>              }));
>>              return fragment;
>>      }
>>
>>      public boolean isVersioned() {
>>              return false;
>>      }
>> }
> 
> Every page is mounted with QueryStringUrlCodingStrategy. On the Download 
> page a link to this DownloadFile page is created using the above 
> createLinkToPage() static method call which creates a link to 
> "http://localhost:8080/smartcvs/download-file.html?file=win32jre";
> Curiously, when I click on it, the browser displays 
> "http://localhost:8080/?wicket:interface=:2::"; as URL. The "accept"-link 
> occurs pointing to 
> "http://localhost:8080/?wicket:interface=:2:border:contentPanel:accept::ILinkListener";.
>  
> When I click it, the browser displays 
> "http://localhost:8080/?wicket:interface=:3::"; as URL. Clicking the 
> back-button shows the "http://localhost:8080/?wicket:interface=:2::"; page 
> with the "accept"-link, no matter whether I try it with Opera or FireFox.
> 
> Tom
> 
> 
> Eelco Hillenius wrote:
>>> Regarding the back-button: it would be the best if the intermediate license
>>> agreement page would not occur when pressing the back-button, but instead
>>> the previous page (if any). Is something like that possible?
>> What you need to achieve is that the URL stays stable. One way to
>> achieve this is to use panel replacement. E.g. when you click the
>> download page, you replace the main panel on your page with a panel
>> that displays the license agreement. If you turn off versioning for
>> that page, the URL will stay stable and thus if you push the back
>> button later, your browser will return to the first version of the
>> page. I think this should work for most browsers (maybe only not with
>> Opera). There are alternative ways to do this, including throwing
>> RestartResponseExceptions, using custom page factories and custom url
>> coding strategies. Or you can trick the browser using JavaScript, of
>> which I don't know too many details.
>>
>> Eelco
> 
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Wicket-user mailing list
> Wicket-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-user
> 

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to