Package org.apache.wicket

Examples of org.apache.wicket.Response


    component.setOutputMarkupId(true);

    // substitute our encoding response for the real one so we can capture
    // component's markup in a manner safe for transport inside CDATA block
    final Response originalResponse = response;
    encodingBodyResponse.reset();
    RequestCycle.get().setResponse(encodingBodyResponse);

    // Initialize temporary variables
    final Page page = component.findParent(Page.class);
View Full Code Here


      final Page page = component.getPage();
      page.addOrReplace(header);
    }

    // save old response, set new
    Response oldResponse = RequestCycle.get().setResponse(encodingHeaderResponse);

    encodingHeaderResponse.reset();

    // render the head of component and all it's children
View Full Code Here

   * @see org.apache.wicket.IRequestTarget#respond(org.apache.wicket.RequestCycle)
   */
  public void respond(RequestCycle requestCycle)
  {
    // Get servlet response to use when responding with resource
    final Response response = requestCycle.getResponse();
    response.setContentType(contentType + ";charset=" + encoding);

    // send string to client
    try
    {
      response.getOutputStream().write(string.getBytes(encoding));
    }
    catch (IOException e)
    {
      throw new WicketRuntimeException("Unable to render string: " + e.getMessage(), e);
    }
View Full Code Here

  /**
   * @see org.apache.wicket.IRequestTarget#respond(org.apache.wicket.RequestCycle)
   */
  public void respond(RequestCycle requestCycle)
  {
    Response response = requestCycle.getResponse();
    response.reset();
    if (redirectUrl.startsWith("/"))
    {
      // context-absolute url

      RequestContext rc = RequestContext.get();
      String continueTo = null;
      if (rc.isPortletRequest() && ((PortletRequestContext)rc).isEmbedded())
      {
        response.redirect(redirectUrl);
      }
      else
      {
        String location = RequestCycle.get()
          .getRequest()
          .getRelativePathPrefixToContextRoot() +
          redirectUrl.substring(1);

        if (location.startsWith("./") && location.length() > 2)
        {
          location = location.substring(2);
        }

        response.redirect(location);
      }
    }
    else if (redirectUrl.indexOf("://") > 0)
    {
      // absolute url
      response.redirect(redirectUrl);
    }
    else
    {
      // relative url
      response.redirect(RequestCycle.get()
        .getRequest()
        .getRelativePathPrefixToWicketHandler() +
        redirectUrl);
    }
  }
View Full Code Here

    }

    // if resource is still null, it doesn't exist
    if (resource == null)
    {
      Response response = requestCycle.getResponse();
      if (response instanceof WebResponse)
      {
        ((WebResponse)response).getHttpServletResponse().setStatus(
          HttpServletResponse.SC_NOT_FOUND);
        log.error("shared resource " + resourceKey + " not found");
View Full Code Here

   * @see org.apache.wicket.IRequestTarget#respond(org.apache.wicket.RequestCycle)
   */
  public void respond(RequestCycle requestCycle)
  {
    // Get servlet response to use when responding with resource
    final Response response = requestCycle.getResponse();

    configure(requestCycle, response, resourceStream);

    try
    {
      if (resourceStream instanceof IResourceStreamWriter)
        ((IResourceStreamWriter)resourceStream).write(response.getOutputStream());
      else
        response.write(resourceStream.getInputStream());
    }
    catch (ResourceStreamNotFoundException e)
    {
      requestCycle.setRequestTarget(new WebErrorCodeResponseTarget(
        HttpServletResponse.SC_NOT_FOUND));
View Full Code Here

    // written to its body. Thus we first write the output into a
    // StringResponse and if not empty, we copy it to the original
    // web response.

    // Temporarily replace the web response with a String response
    final Response webResponse = getResponse();

    try
    {
      final StringResponse response = new StringResponse();
      getRequestCycle().setResponse(response);

      IHeaderResponse headerResponse = getHeaderResponse();
      if (!response.equals(headerResponse.getResponse()))
      {
        getRequestCycle().setResponse(headerResponse.getResponse());
      }

      // In any case, first render the header section directly associated
      // with the markup
      super.onComponentTagBody(markupStream, openTag);

      // Render all header sections of all components on the page
      renderHeaderSections(getPage(), this);
      getHeaderResponse().close();

      // Automatically add <head> if necessary
      CharSequence output = response.getBuffer();
      if (output.length() > 0)
      {
        if (output.charAt(0) == '\r')
        {
          for (int i = 2; i < output.length(); i += 2)
          {
            char ch = output.charAt(i);
            if (ch != '\r')
            {
              output = output.subSequence(i - 2, output.length());
              break;
            }
          }
        }
        else if (output.charAt(0) == '\n')
        {
          for (int i = 1; i < output.length(); i++)
          {
            char ch = output.charAt(i);
            if (ch != '\n')
            {
              output = output.subSequence(i - 1, output.length());
              break;
            }
          }
        }
      }

      if (output.length() > 0)
      {
        if (renderOpenAndCloseTags())
          webResponse.write("<head>");
       
        webResponse.write(output);
       
        if (renderOpenAndCloseTags())
          webResponse.write("</head>");
      }
    }
    finally
    {
      // Restore the original response
View Full Code Here

        // was created but any of the components or behavior want to contribute
        // something to the header.
        header = new HtmlHeaderContainer(HtmlHeaderSectionHandler.HEADER_ID);
        add(header);

        Response orgResponse = getRequestCycle().getResponse();
        try
        {
          final StringResponse response = new StringResponse();
          getRequestCycle().setResponse(response);
View Full Code Here

    /**
     * @see org.apache.wicket.markup.html.IHeaderContributor#renderHead(IHeaderResponse)
     */
    public final void renderHead(final IHeaderResponse headResponse)
    {
      Response response = headResponse.getResponse();
      final WebRequestCycle cycle = (WebRequestCycle)RequestCycle.get();
      final IRequestTarget target = cycle.getRequestTarget();

      // we don't want to render this for stateless pages
      if (webPage.isPageStateless())
      {
        return;
      }

      IPageMap pageMap = webPage.getPageMap();
      String name = pageMap.getName();
      if (name == null)
      {
        name = "wicket:default";
      }
      else
      {
        name = name.replace('"', '_');
      }

      Session session = Session.get();

      Session.PageMapAccessMetaData meta = (Session.PageMapAccessMetaData)session.getMetaData(Session.PAGEMAP_ACCESS_MDK);
      if (meta == null)
      {
        meta = new Session.PageMapAccessMetaData();
        session.setMetaData(Session.PAGEMAP_ACCESS_MDK, meta);
      }
      boolean firstAccess = meta.add(pageMap);

      if (firstAccess)
      {
        // this is the first access to the pagemap, set window.name
        JavascriptUtils.writeOpenTag(response);
        response.write("if (window.name=='' || window.name.indexOf('wicket') > -1) { window.name=\"");
        response.write("wicket-" + name);
        response.write("\"; }");
        JavascriptUtils.writeCloseTag(response);
      }
      else
      {
        // Here is our trickery to detect whether the current request
        // was made in a new window/ tab, in which case it should go in
        // a different page map so that we don't intermingle the history
        // of those windows
        CharSequence url = null;
        if (target instanceof IBookmarkablePageRequestTarget)
        {
          IBookmarkablePageRequestTarget current = (IBookmarkablePageRequestTarget)target;
          BookmarkablePageRequestTarget redirect = new BookmarkablePageRequestTarget(
            session.createAutoPageMapName(), current.getPageClass(),
            current.getPageParameters());
          url = cycle.urlFor(redirect);
        }
        else
        {
          url = webPage.urlFor(INewBrowserWindowListener.INTERFACE);
        }
        JavascriptUtils.writeOpenTag(response);
        response.write("if (window.name=='' || (window.name.indexOf('wicket') > -1 && window.name!='" +
          "wicket-" + name + "')) { window.location=\"");
        response.write(url);
        response.write("\" + (window.location.hash != null ? window.location.hash : \"\"); }");
        JavascriptUtils.writeCloseTag(response);
      }
    }
View Full Code Here

   * @see org.apache.wicket.IComponentBorder#renderBefore(org.apache.wicket.Component)
   */
  public void renderBefore(Component component)
  {
    final MarkupStream stream = getMarkupStream(component);
    final Response response = component.getResponse();
    stream.setCurrentIndex(0);

    boolean insideBorderMarkup = false;
    while (stream.hasMore())
    {
      MarkupElement e = stream.get();
      stream.next();
      if (e instanceof WicketTag)
      {
        WicketTag wt = (WicketTag)e;
        if (!insideBorderMarkup)
        {
          if (wt.isBorderTag() && wt.isOpen())
          {
            insideBorderMarkup = true;
            continue;
          }
          else
          {
            throw new WicketRuntimeException(
              "Unexpected tag encountered in markup of component border " +
                getClass().getName() + ". Tag: " + wt.toString() +
                ", expected tag: <wicket:border>");
          }
        }
        else
        {
          if (wt.isBodyTag())
          {
            break;
          }
          else
          {
            throw new WicketRuntimeException(
              "Unexpected tag encountered in markup of component border " +
                getClass().getName() + ". Tag: " + wt.toString() +
                ", expected tag: <wicket:body> or </wicket:body>");
          }
        }
      }
      if (insideBorderMarkup)
      {
        response.write(e.toCharSequence());
      }
    }

    if (!stream.hasMore())
    {
View Full Code Here

TOP

Related Classes of org.apache.wicket.Response

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.