java EL表达式中${param.name}详细


在浏览器地址输入,表示传入一个参数test,值为123

URL:http://localhost:8888/Test/index.jsp?test=123

 <body>
    ${test}
 
   
    ${requestScope.test}  
    <%request.getAttribute("test"); %>
body >
以上代码均不能取出值
仅当 使用
<%
    request.setAttribute("test", "123");
 %>
赋值时内可以正常取出值

那么如何取出URL 中的test 的值呢?如下
  <body>
    ${param.test}
 
   
    <%=request.getParameter("test") %>
body >
均可取出URL中的test的值。。
结论:

${param.name} 等价于 request.getParamter("name"),这两种方法一般用于服务器从页面或者客户端获取的内容。

${requestScope.name} 等价于 request.getAttribute("name"),一般是从服务器传递结果到页面,在页面中取出服务器保存的值。

${param.username}
会依次调用pageContext.getAttribute("username") -> request.getAttribute("username") -> session.getAttribute("username") -> application.getAttribute("username"),只要找到某一个不为空的值就立刻返回。  
${requestScope.username}
只返回request.getAttribute("username")

你可能感兴趣的:(java EL表达式中${param.name}详细)