zoukankan      html  css  js  c++  java
  • 关于EL表达式中requestScope和param区别

    今天演示EL表达式的时候发现自己jsp的基础实在是薄弱,在这个很简单的问题上迷惑了很久。

    首先在看遇到的问题:

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

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


    在index.jsp中尝试使用EL表达式取出,代码如下:

     <body>
    ${test}
    </body>

    发现毫无结果,再使用requestScope尝试取出:

      <body>
    ${requestScope.test}
    </body>

    发现还是毫无结果,感到非常诧异,遂干脆使用java脚本尝试取出。

      <body>
    <%request.getAttribute("test"); %>
    </body>


    依然无解。

    之后发现,若使用已下代码向request作用域赋值,则用上面代码可以取出

    <%
    request.setAttribute("test", "123");
    %>


    查询资料后发现,使用以下代码可以取出之前的请求参数:
    EL:

      <body>
    ${param.test}
    </body>

    JAVA脚本:

      <body>
    <%=request.getParameter("test") %>
    </body>

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

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

     ${requestScope.name} 等价于 request.getAttribute("name") 等价于${name}

    参考资料:

    el表达式中的${param}

    http://topic.csdn.net/u/20090103/15/779af9b8-c3a7-4f3e-82fe-b08bf2630996.html

  • 相关阅读:
    rsync+sersync实现文件同步
    HTTP 响应码
    ipv4和ipv6的区别
    查看linux系统版本信息
    MQ基础知识学习
    自动化测试的框架介绍和选择
    python(目录)
    分布式和集群
    raid 工作模式 raid0 raid1 raid10 raid5
    CentOS Docker安装
  • 原文地址:https://www.cnblogs.com/wuchanming/p/5285364.html
Copyright © 2011-2022 走看看