如何使用 JSP 从 URL 获取参数
2022-08-31 06:09:18
在 JSP 中,如何从 URL 获取参数?
例如,我有一个URL
,我想得到5。
是否有 request.getAttribute( “accountID” ) 像会话或类似的东西一样?www.somesite.com/Transaction_List.jsp?accountID=5
在 JSP 中,如何从 URL 获取参数?
例如,我有一个URL
,我想得到5。
是否有 request.getAttribute( “accountID” ) 像会话或类似的东西一样?www.somesite.com/Transaction_List.jsp?accountID=5
关于统一表达式语言的隐式对象,Java EE 5 教程写道:
隐式对象
JSP 表达式语言定义了一组隐式对象:
pageContext
:JSP 页的上下文。提供对各种对象的访问,包括:
servletContext
:JSP 页面的 servlet 和同一应用程序中包含的任何 Web 组件的上下文。请参见访问 Web 上下文。session
:客户端的会话对象。请参见维护客户端状态。请求
:触发 JSP 页执行的请求。请参阅从请求中获取信息。response
:JSP 页返回的响应。请参见构造响应。- 此外,还提供了几个隐式对象,允许轻松访问以下对象:
param
:将请求参数名称映射到单个值paramValues
:将请求参数名称映射到值数组header
:将请求标头名称映射到单个值headerValues
:将请求标头名称映射到值数组cookie
:将 Cookie 名称映射到单个 CookieinitParam
:将上下文初始化参数名称映射到单个值- 最后,有些对象允许访问使用作用域对象中所述的各种作用域变量。
pageScope
:将页面范围的变量名称映射到其值requestScope
:将请求范围的变量名称映射到其值sessionScope
:将会话范围的变量名称映射到其值applicationScope
:将应用程序范围的变量名称映射到其值
有趣的部分是粗体:)
因此,要回答您的问题,您应该能够像这样访问它(使用EL):
${param.accountID}
或者,使用 JSP 脚本(不推荐):
<%
String accountId = request.getParameter("accountID");
%>
在 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>!
如果未在查询字符串上指定 name,则输出将为:
Hello <b>null</b>!
此示例使用脚本小工具中查询参数的值:
<%
if (request.getParameter("name") == null) {
out.println("Please enter your name.");
} else {
out.println("Hello <b>"+request. getParameter("name")+"</b>!");
}
%>