`
zhangjunji111
  • 浏览: 46528 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

el表达式param隐含对象

 
阅读更多

el表达式param隐含对象

一、request.getParameter() 和request.getAttribute() 区别 
 
(1)request.getParameter()取得是通过容器的实现来取得通过类似post,get等方式传入的数据,request.setAttribute()和getAttribute()只是在web容器内部流转,仅仅是请求处理阶段。
(2)request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据。request.getParameter()方法返回String类型的数据。

request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部
  还有一点就是,HttpServletRequest类有setAttribute()方法,而没有setParameter()方法。
  拿一个例子来说一下吧,假如两个WEB页面间为链接关系时,就是说要从1.jsp链接到2.jsp时,被链接的是2.jsp可以通过getParameter()方法来获得请求参数.
  假如1.jsp里有
<form name="form1" method="post" action="2.jsp">
请输入用户姓名:<input type="text" name="username">
<input type="submit" name="Submit" value="提交">
</form>的话在2.jsp中通过request.getParameter("username")方法来获得请求参数username:
<% String username=request.getParameter("username"); %>
  但是如果两个WEB间为转发关系时,转发目的WEB可以用getAttribute()方法来和转发源WEB共享request范围内的数据,也还是说一个例子吧。
  有1.jsp和2.jsp
1.jsp希望向2.jsp传递当前的用户名字,如何传递这一数据呢?先在1.jsp中调用如下setAttribute()方法:
<%
String username=request.getParameter("username");
request.setAttribute("username",username);
%>
<jsp:forward page="2.jsp" />
在2.jsp中通过getAttribute()方法获得用户名字:
<% String username=(String)request.getAttribute("username"); %> 
 _________________________________________________________
二、request.getAttribute()与request.setAttribute()
request.getAttribute("nameOfObj")可得到JSP页面一表单中控件的Value。其实表单控件中的Object的 name与value是存放在一个哈希表中的,所以在这里给出Object的name会到哈希表中找出对应它的value。 

     而不同页面间传值使用request.setAttribute(position, nameOfObj)时,只会从a.jsp到b.jsp一次传递,之后这个request就会失去它的作用范围,再传就要再设一个 request.setAttribute()。而使用session.setAttribute()会在一个过程中始终保有这个值。
     P.S.:JavaScript与JSP中不能相互传值,因为JavaScript运行在客户端,而JSP运行在服务器端。若想使它们之间可以相互传递参数,可以在JSP中设置一个hidden控件,用它的value结合上面所说的用法来传递所需的数值。

 

今天碰到了个EL表达式的问题,在el表达式里有个隐含对象param,这个对象用法:${param.name},param实际上是相当于request.getParameter()方法,看了上面转载的内容才知道request.getParameter()与request.getAttribute()的区别。param这个对象平常不常用,但是既然碰到了,还是要搞清楚的。

分享到:
评论

相关推荐

    EL表达式的详细使用

    例如,EL 表达式可以使用 ${requestScope.objectName} 访问一个 JSP 请求范围的对象,还可以使用 ${requestScope.objectName.attributeName} 访问对象的属性。 sessionScope 将会话范围的变量名称映射到其值。该...

    EL表达式详解

    ·EL表达式可操作常量、变量和隐式对象。 最常用的隐式对象有${param}和${paramValues}。 ${param}表示返回请求参数中单个字符串的值. ${paramValues}表示返回请求参数的一组值. pageScope 表示页面范围的变量. ...

    EL表达式 (详解)

    与输入有关的隐含对象有两个:param和paramValues,它们是EL中比较特别的隐含对象。 例如我们要取得用户的请求参数时,可以利用下列方法: request.getParameter(String name) request.getParameterValues...

    EL表达式(很全很强大)

    1)语法结构${expression}, EL 提供.和[]两种运算符来存取数据${user.My-Name}应当改为${user["My-Name"] }。在EL中则可以使用param和paramValues两者来取得数据。 ${param.name} ${paramValues.name}

    el函数,el,el表达式,el函数,fn

    15.fn:escapeXml 把一些字符转成XML表示,例如 &lt;字符应该转为${fn:escapeXml(param:info)} 16.fn:indexOf 子字符串在母字符串中出现的位置 ${fn:indexOf(name, "-")} 17.fn:join 将数组中的数据联合成一个新字符串...

    EL表达式详解关于web的问题

    好东西,希望对你有帮助 pageContext.getAttribute("username") -&gt; request.getAttribute("username") -&gt; session.getAttribute("username") -&gt; application.getAttribute("username")

    EL(Expression Language)表达式

    EL表达式用${ }表示,可用在所有的HTML和JSP标签中,作用是代替JSP页面中复杂 的JAVA代码. •EL表达式可操作常量、变量和隐式对象。 最常用的隐式对象有${param}和${paramValues}。

    javaScript使用EL表达式的几种方式

    1.可以使用双引号将EL表达式括起来,这个不是对所有的都行,只对适合${param}这种类型 2.可以将其作为javaScript中的函数的参数。 3.使用隐藏表单域将值传过去原理和(1)是一样的!

    浅谈SpringMVC jsp前台获取参数的方式 EL表达式

    JAVA: request.setAttribute(msg, 1234); session.setAttribute(msg2, 1234); JSP: ${requestScope.msg} ${sessionScope.msg2} ...${param.参数名} 相当于JAVA的request.getParameter(“参数名”) 以

    JS中用EL表达式获取上下文参数值的方法

    * @param model * @param req * @return String */ @RequestMapping("getValue") public String getValue(Model model, HttpServletRequest req){ model.addAttribute("stringValue", "测试在js中取值..."); ...

    EL与JSP相关内置对象

    EL内置对象: pageContext pageScope requestScope sessionScope applicationScope param paramValues header headerValues cookie initParam

    java实现对象转化为get请求的param参数String字符串

    java实现对象转化为get请求的param参数String字符串,本人自测非常好用,一般对象可以转化键值对的格式,但是最近项目需要自己手动拼接对象作为get请求的参数,百度了一堆还不如自己写一个,欢迎各位使用,有什么...

    自定义实体属性表达式验证

    checkParams:空值验证 @param params {"字段名","字段名1","字段名2"} definedCheckParams:自定义参数验证 @param param {"参数名:规则","参数名:规则"} 不传规则则单验证...@param map key是字段名,value是表达式

    Loadrunner中web_reg_save_param的使用详解

    于是需要首先读出当前的事务的状态,再进行修改,此时便可以使用到web_reg_save_param了。可以通过它先将事务的状态读出写入一个自定义的变量中,根据变量的值来决定下一步的动作。 简要说明 语法:intweb_reg_...

    java代码验证日期格式正则表达式(包含闰年验证)带注释

    * @param 日期验证,验证的格式有: * "yyyyMM","yyyyMMdd","yyyyMMdd HH:mm:ss", * "yyyy-MM","yyyy-MM-dd","yyyy-MM-dd HH:mm:ss" * "yyyy.MM","yyyy.MM.dd","yyyy.MM.dd HH:mm:ss" * "yyyy/MM","yyyy/MM/dd...

    express-param-capture:使用正则表达式处理请求参数

    快速参数捕获 使用正则表达式处理请求参数并在路由中使用生成的捕获组。 像但在最近的 express 版本中正常工作,其中app.param(fun)已被弃用。用法 app = express()capture = require('express-param-capture')app....

    nutch-param-set

    nutch-param-setnutch-param-setnutch-param-setnutch-param-set

    正则表达式教程之匹配单个字符详解

    本文实例讲述了正则表达式教程之匹配单个字符。分享给大家供大家参考,具体... * @param regex 正则表达式 * @param sourceText 要匹配的源文本 */ public static void matchAndPrint(String regex, String sourceTex

    一个java正则表达式工具类源代码.zip(内含Regexp.java文件)

    以前写了一个java的正规表达式的java工具类,分享一下,有用到的欢迎下载使用。 如果你有常用的定义好的,且测试通过的正规表达式,欢迎跟贴,也让我享用一下 . 类中用到了 jakarta-oro-2.0.jar 包,请大家自己在 ...

    spring配置中<context-param> 和<init-param>的 区别

    &lt;context-param&gt; 和&lt;init-param&gt;的 区别代码 博文链接:https://xhy0422.iteye.com/blog/46319

Global site tag (gtag.js) - Google Analytics