当前位置:  开发笔记 > 编程语言 > 正文

如何使用JSP从URL获取参数

如何解决《如何使用JSP从URL获取参数》经验,为你挑选了5个好方法。

在JSP中如何从URL获取参数?

例如,我有一个www.somesite.com/Transaction_List.jsp?accountID=5
我想要获得的URL 5.

是否有一个request.getAttribute("accountID")就像会话或类似的东西?



1> Pascal Thive..:

关于隐式对象中的统一表达式语言,在Java EE 5教程中写道:

隐含对象

JSP表达式语言定义了一组隐式对象:

pageContext:JSP页面的上下文.提供对各种对象的访问,包括:

servletContext:JSP页面的servlet的上下文以及同一应用程序中包含的任何Web组件.请参阅访问Web上下文.

session:客户端的会话对象.请参阅维护客户端状态.

request:触发​​JSP页面执行的请求.请参阅从请求获取信息.

response:JSP页面返回的响应.请参阅构建响应.

此外,还有几个隐式对象可以轻松访问以下对象:

param:将请求参数名称映射到单个值

paramValues:将请求参数名称映射到值数组

header:将请求标头名称映射到单个值

headerValues:将请求标头名称映射到值数组

cookie:将Cookie名称映射到单个Cookie

initParam:将上下文初始化参数名称映射到单个值

最后,有些对象允许访问使用范围对象中描述的各种范围变量.

pageScope:将页面范围的变量名称映射到其值

requestScope:将请求范围的变量名称映射到其值

sessionScope:将会话范围的变量名称映射到其值

applicationScope:将应用程序范围的变量名称映射到其值

有趣的部分是粗体:)

所以,要回答你的问题,你应该能够像这样访问它(使用EL):

${param.accountID}

或者,使用JSP Scriptlets(不推荐):

<%
    String accountId = request.getParameter("accountID");
%>



2> Sajad Bahman..:

在GET请求中,请求参数取自查询字符串(URL上问号后面的数据).例如,URL http://hostname.com?p1=v1&p2=v2包含两个请求参数--p1和p2.在POST请求中,请求参数来自查询字符串和在请求正文中编码的发布数据.

此示例演示如何在生成的输出中包含请求参数的值:

Hello <%= request.getParameter("name") %>!

如果使用URL访问页面:

http://hostname.com/mywebapp/mypage.jsp?name=John+Smith

结果输出将是:

Hello John Smith!

如果未在查询字符串上指定name,则输出将为:

Hello null!

此示例使用scriptlet中的查询参数的值:

<%
    if (request.getParameter("name") == null) {
        out.println("Please enter your name.");
    } else {
        out.println("Hello "+request. getParameter("name")+"!");
    }
%>


Scriptlet被认为是不好的做法.
不要忘记xmlEncode ..这当前容易受到反映的xss的影响
-1表示XSS漏洞.如果我可以投票两次,当使用EL完成工作时,使用scriptlet也是-1.说真的,*不要这样做*.
关于“小脚本被认为是不良做法。”,请参见[其他问题的答案](/sf/ask/17360801/)。

3> Taylor Leese..:

使用EL(JSP表达式语言):

${param.accountID}


但它不处理重新编码为HTML/XML实体,这是XSS预防所必需的.使用JSTL` `来做到这一点.

4> Léa Massiot..:

如果我可以在这里添加评论......

对我不起作用(打印0).

相反,这有效:



5> 小智..:

request.getParameter("accountID")是你在找什么.这是Java Servlet API的一部分.有关更多信息,请参阅http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/ServletRequest.html.

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有