jsp中属性和参数有什么区别

如题所述

JSP中的getParameter(String name)和getAttribute(String name)有何区别?

也就是Parameter(参数) 和Attribute(属性)的区别?

在Java中有属性 和 方法之分,这个属性和Attribute(属性)是不是一样的?

参数就是方法中()里面的内容,Parameter和这个参数一样吗?

HttpServletRequest类既有getAttribute()方法,也由getParameter()方法,这两个方法有以下区别:

(1)HttpServletRequest类有setAttribute()方法,而没有setParameter()方法

(2)当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数,例如假定welcome.jsp和authenticate.jsp之间为链接关系,welcome.jsp中有以下代码:

<a href= "authenticate.jsp?username=weiqin "> authenticate.jsp </a>

或者:

<form name= "form1 " method= "post " action= "authenticate.jsp ">
请输入用户姓名: <input type= "text " name= "username ">
<input type= "submit " name= "Submit " value= "提交 ">
</form>

在authenticate.jsp中通过request.getParameter( "username ")方法来获得请求参数username:

<% String username=request.getParameter( "username "); %>

(3)当两个Web组件之间为转发关系时,转发目标组件通过getAttribute()方法来和转发源组件共享request范围内的数据。假定authenticate.jsp和hello.jsp之间为转发关系。authenticate.jsp希望向hello.jsp传递当前的用户名字,如何传递这一数据呢?先在authenticate.jsp中调用setAttribute()方法:

<%
String username=request.getParameter( "username ");
request.setAttribute( "username ",username);
%>

<jsp:forward page= "hello.jsp " />

在hello.jsp中通过getAttribute()方法获得用户名字:

<% String username=(String)request.getAttribute( "username "); %>
Hello: <%=username %>

(4)从更深的层次考虑,request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据。request.getParameter()方法返回String类型的数据。

request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享。这两个方法能够设置Object类型的共享数据。

——getParameter得到的都是String类型的。或者是http://a.jsp?id=123中的123,或者是某个表单提交过去的数据。
——getAttribute则可以是对象。
——getParameter()是获取POST/GET传递的参数值;
——getAttribute()是获取对象容器中的数据值;
——getParameter:用于客户端重定向时,即点击了链接或提交按扭时传值用,即用于在用表单或url重定向传值时接收数据用。
——getAttribute:用于服务器端重定向时,即在sevlet中使用了forward函数,或struts中使用了mapping.findForward。getAttribute只能收到程序用setAttribute传过来的值。
另外,可以用setAttribute,getAttribute发送接收对象.而getParameter显然只能传字符串。
setAttribute是应用服务器把这个对象放在该页面所对应的一块内存中去,当你的页面服务器重定向到另一个页面时,应用服务器会把这块内存拷贝另一个页面所对应的内存中。这样getAttribute就能取得你所设下的值,当然这种方法可以传对象。session也一样,只是对象在内存中的生命周期不一样而已。
getParameter只是应用服务器在分析你送上来的request页面的文本时,取得你设在表单或url重定向时的值。
温馨提示:内容为网友见解,仅供参考
无其他回答

在JSP中的文本框里的属性maxlength和size两个属性有什么区别啊?
任务占坑

js中什么时候传参数什么时候不传参数
当你需要向后台或其它页面传参的时候传参,如果只是本页面的操作,基本不用传参。不过,当你JSP页面中要参数时,也要传参,基本本页面用的最多的传参方式就是onclick="return abc(this)",代表着你向JS函数中传本标签的属性。

在jsp中参数(parameter)与值(value)有什么区别?
参数就是一个名字而已,例如“人”作为参数(parameter),那么“张三”就是值(value) 例如: 你定义方法的时候肯定要考虑到这个方法的适用范围,用“人”作参数,那么只要你传进来是“人”---“张三”是个人,改方法就有效。 希望对你有帮助!

JSP中“参数”和“变量”区别?
变量是单个数据的名称,只是这个数据经常变动,而其名称不变,所以叫变量。参数是传递中的常量、变量、数组等。即参数是传送中的数据。即传到过程(或叫子程序)或者函数里的变量就是参数。形象比喻一下:参数是乘坐交通工具中的常量、变量、数组等。

在JSP中request.getAtttibute(这里面有两个参熟)。 我想知道里面的两...
参数表示存放在request中的键,而request.getAttribute()的结果是获取存放在request中的键所对应的值。楼主你说的是不是request.setAttribute(),这里面倒是有两个参数,第一个参数表示键(一般用String类型表示),第二个参数表示值(Object类及其子类),存放过后可以通过request.getAttribute()读取出来。

jsp是用什么语言写的jsp是用什么语言写的
这个函数非常有用,因为它使我们能够充分发挥Java组件复用的优势,同时避免失去JSP的便利性,这一点不同于Servlet。jsp:useBean操作的最简单语法是: 这行代码的意思是:“创建一个class属性指定的类的实例,然后绑定到id属性给定名称的变量上”。然而,正如我们接下来将看到的,定义一个范围属性允许Bean与更多的页面相关联...

setAttribute和setParameter方法的区别
本文介绍setAttribute和setParameter方法的区别:getAttribute表示从request范围取得设置的属性,必须要先setAttribute设置属性,才能通过getAttribute来取得,设置与取得的为Object对象类型 getParameter表示接收参数,参数为页面提交的参数,包括:表单提交的参数、URL重写(就是xxx?id=1中的id)传的参数等,因此这个并...

jsp 页面提交至jsp页面时跟的参数为什么多了个“%22”
request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");把这个打在jsp代码顶端.你用form表单传参..要用post方式.不要用get

jsp中其中的“?”是什么意思
解释: 表单提交标签 这个标签里含有属性 提交的动作(action),提交的类型(post或get)result.jsp?method=add 解释:向result.jsp文件提交 ,其中含参数method等于add 注意:文件与参数要用“?”连接 例如:result.jsp?name=张三 就是向result.jsp 提交一个含 name=“张三” 的参数。post提...

在action中的属性接收jsp页面的参数,如果接受的是一个list集合,集合中...
你可以通过json来传递,后台用fastjson转换json为对象

相似回答