一尘不染

如何使用JSP从URL获取参数

java

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

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

URL5 。 是否有request.getAttribute(“ accountID”)之类的会话或类似内容?


阅读 482

收藏
2020-03-09

共2个答案

一尘不染

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

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

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

如果使用URL访问页面:

http://hostname.com/mywebapp/mypage.jsp?name=John+Smith
结果输出将是:

Hello <b>John Smith</b>!

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

Hello <b>null</b>!

本示例在脚本中使用查询参数的值:

<%
    if (request.getParameter("name") == null) {
        out.println("Please enter your name.");
    } else {
        out.println("Hello <b>"+request. getParameter("name")+"</b>!");
    }
%>
2020-03-09
一尘不染

关于隐式对象中的统一表达式语言,在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脚本(不推荐):

<%
    String accountId = request.getParameter("accountID");
%>
2020-03-09