# and other special characters in querystring - JSP

Discussion in 'Java' started by Hemaraj, Aug 22, 2007.

  1. Hemaraj

    Hemaraj Guest

    Dear Java group

    I have a JSP page which has some hyperlinks that contain values such as

    http://www.mydomain.com#Something1
    http://www.mydomain.com#Something2

    When I click on them, they should be passed as value of query string to a
    servlet. When the servlet is run, I can see in url field of the browser that
    the correct value was passed ; for example I see:


    http://localhost:8080/MyWebSite/ShowDetails?SelectedItem=http://www.mydomain.com#Something2



    Where ShowDetails is the name of the servlet that is getting this selected
    item through

    String Selected1 = request.getParameter("SelectedItem");



    However, when I want to display this field using

    out.println("<p>Value " + Selected1 + "</p>");



    I only see http://www.mydomain.com - what I want to see is :
    http://www.mydomain.com#Something2 - meaning, the part #something1 is not
    there anymore.

    How to solve this problem?

    Thank you
     
    Hemaraj, Aug 22, 2007
    #1
    1. Advertisements

  2. Hi Hemaraj,

    the #-part is interpreted by the browser and not sent to the server. It
    might appear in the URL line, however only the part before the # will be
    passed to the server. You will have to URL-encode the string that you put
    into the link if you want to send that information to the server. However
    then the browser will not jump to the anchors anymore. To achieve both one
    could hack:

    http://www.mydomain.com#Something1#Something1

    You would have to create some magic servlet mapping to make that work. I
    wonder, though why you would want to send the anchor part to the server in
    that URL instead of adding it to a parameter:

    http://www.mydomain.com?anchor=Something1#Something1

    Hope that helps.

    Best regards,
    Jan
     
    Jan =?UTF-8?B?VGhvbcOk?=, Aug 22, 2007
    #2
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.