[企业级应用开发]--Web间变量互传以及变量的设置和获取 【难度 ★★】

键盘上跳舞的精灵 2012-06-11

本节以不使用框架,用最基本的JSP和Java代码讲解Web变量的设置和获取。

主要用到的方法有:

1,setAttribute()/getAttribute();

2,setParameter/getParameter;

3,另外还有EL表达式(ExpressionLanguage)等都可以实现该功能。

首先,以getAttribute()与getParameter()来说明下,两者间的区别:

1,getAttribute()得到的系对象,getParameter()得到的系String类型字符串;

2,request.getParameter()获取传递的数据是从Web客户端传到Web服务器端被获取,代表请求传送过来的数据;request.getAttribute()获取传递的数据存在与Web容器中,在具备转发关系的Web组件中共享;

3,getAttribute()是获取对象容器中的对象值,而getParameter()获取的是POST/GET方法传递的参数值(String);

4,getAttribute()返回的是object,可通过setAttribute()设置成任意对象,更具有灵活性,可随时使用。

在Web中,作用域由小到大为:page-->request-->session-->application

若想一个变量跨多个页面或功能点都有效,可以使用下面的方法:

request.getSession().setAttribute();

这样,生命周期就系session级别的了,在当前会话中全程有效。而request级别的只能在当前请求中有效,跨多一层请求就会失效了。

相关推荐