(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 表达式可以使用 ${requestScope.objectName} 访问一个 JSP 请求范围的对象,还可以使用 ${requestScope.objectName.attributeName} 访问对象的属性。 sessionScope 将会话范围的变量名称映射到其值。该...
·EL表达式可操作常量、变量和隐式对象。 最常用的隐式对象有${param}和${paramValues}。 ${param}表示返回请求参数中单个字符串的值. ${paramValues}表示返回请求参数的一组值. pageScope 表示页面范围的变量. ...
与输入有关的隐含对象有两个:param和paramValues,它们是EL中比较特别的隐含对象。 例如我们要取得用户的请求参数时,可以利用下列方法: request.getParameter(String name) request.getParameterValues...
1)语法结构${expression}, EL 提供.和[]两种运算符来存取数据${user.My-Name}应当改为${user["My-Name"] }。在EL中则可以使用param和paramValues两者来取得数据。 ${param.name} ${paramValues.name}
15.fn:escapeXml 把一些字符转成XML表示,例如 <字符应该转为${fn:escapeXml(param:info)} 16.fn:indexOf 子字符串在母字符串中出现的位置 ${fn:indexOf(name, "-")} 17.fn:join 将数组中的数据联合成一个新字符串...
好东西,希望对你有帮助 pageContext.getAttribute("username") -> request.getAttribute("username") -> session.getAttribute("username") -> application.getAttribute("username")
EL表达式用${ }表示,可用在所有的HTML和JSP标签中,作用是代替JSP页面中复杂 的JAVA代码. •EL表达式可操作常量、变量和隐式对象。 最常用的隐式对象有${param}和${paramValues}。
1.可以使用双引号将EL表达式括起来,这个不是对所有的都行,只对适合${param}这种类型 2.可以将其作为javaScript中的函数的参数。 3.使用隐藏表单域将值传过去原理和(1)是一样的!
JAVA: request.setAttribute(msg, 1234); session.setAttribute(msg2, 1234); JSP: ${requestScope.msg} ${sessionScope.msg2} ...${param.参数名} 相当于JAVA的request.getParameter(“参数名”) 以
* @param model * @param req * @return String */ @RequestMapping("getValue") public String getValue(Model model, HttpServletRequest req){ model.addAttribute("stringValue", "测试在js中取值..."); ...
EL内置对象: pageContext pageScope requestScope sessionScope applicationScope param paramValues header headerValues cookie initParam
java实现对象转化为get请求的param参数String字符串,本人自测非常好用,一般对象可以转化键值对的格式,但是最近项目需要自己手动拼接对象作为get请求的参数,百度了一堆还不如自己写一个,欢迎各位使用,有什么...
checkParams:空值验证 @param params {"字段名","字段名1","字段名2"} definedCheckParams:自定义参数验证 @param param {"参数名:规则","参数名:规则"} 不传规则则单验证...@param map key是字段名,value是表达式
于是需要首先读出当前的事务的状态,再进行修改,此时便可以使用到web_reg_save_param了。可以通过它先将事务的状态读出写入一个自定义的变量中,根据变量的值来决定下一步的动作。 简要说明 语法:intweb_reg_...
* @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 版本中正常工作,其中app.param(fun)已被弃用。用法 app = express()capture = require('express-param-capture')app....
nutch-param-setnutch-param-setnutch-param-setnutch-param-set
本文实例讲述了正则表达式教程之匹配单个字符。分享给大家供大家参考,具体... * @param regex 正则表达式 * @param sourceText 要匹配的源文本 */ public static void matchAndPrint(String regex, String sourceTex
以前写了一个java的正规表达式的java工具类,分享一下,有用到的欢迎下载使用。 如果你有常用的定义好的,且测试通过的正规表达式,欢迎跟贴,也让我享用一下 . 类中用到了 jakarta-oro-2.0.jar 包,请大家自己在 ...
<context-param> 和<init-param>的 区别代码 博文链接:https://xhy0422.iteye.com/blog/46319