代码之家  ›  专栏  ›  技术社区  ›  dacracot

在隐藏输入中嵌入querystring参数会导致错误

  •  0
  • dacracot  · 技术社区  · 14 年前

    我需要一个隐藏的输入来包含querystring通过JSP的URL传递的值。

    URL看起来像。。。 http://nowhere.com/myapp/blah.jsp?key=12345

    JSP看起来像。。。

    <html>
    <body>
    <input id="key" type="hidden" value="<%=request.getParameter('key')%>" />
    </body>
    </html>
    

    这会导致500个错误。。。

    SEVERE: Servlet.service() for servlet jsp threw exception
    org.apache.jasper.JasperException: Unable to compile class for JSP: 
    
    An error occurred at line: 3 in the jsp file: /myapp/blah.jsp
    Invalid character constant
    1: <html>
    2: <body>
    3: <input id="key" type="hidden" value="<%=request.getParameter('key')%>" />
    4: </body>
    5: </html>
    
    1 回复  |  直到 14 年前
        1
  •  1
  •   dacracot    14 年前

    这是引用。Java将单引号解释为字符而不是字符串。

    切换引号。。。

    <input id='key' type='hidden' value='<%=request.getParameter("key")%>' />
    

    ...而且很有效。