关于EL表达式获取参数的两种⽅法
今天演⽰EL表达式的时候发现⾃⼰jsp的基础实在是薄弱,在这个很简单的问题上迷惑了很久。
⾸先在看遇到的问题:
在浏览器地址输⼊,表⽰传⼊⼀个参数test,值为123
localhost:8888/Test/index.jsp?test=123
在index.jsp中尝试使⽤EL表达式取出,代码如下:
<body>
${test}
</body>
发现毫⽆结果,再使⽤requestScope尝试取出:
<body>
${st}
</body>
发现还是毫⽆结果,感到⾮常诧异,遂⼲脆使⽤java脚本尝试取出。
<body>
<%Attribute("test"); %>
</body>
依然⽆解。
之后发现,若使⽤已下代码向request作⽤域赋值,则⽤上⾯代码可以取出
<%
el表达式获取值request.setAttribute("test", "123");
%>
查询资料后发现,使⽤以下代码可以取出之前的请求参数:
EL:
<body>
${st}
</body>
JAVA脚本:
<body>
<%=Parameter("test") %>
</body>
结论就是:${param.name} 等价于 Paramter("name"),这两种⽅法⼀般⽤于服务器从页⾯或者客户端获取的内容。
${requestScope.name} 等价于 Attribute("name"),⼀般是从服务器传递结果到页⾯,在页⾯中取出服务器保存的值。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论