后台和页面互相传参的手段

1 请求域,有四个域:pageScope,requestScope,sessionScope,applicationScope

范围由小到大


表示变量的作用域,一共4种。

pageScope:  表示变量只能在本页面使用。

requestScope:表示变量能在本次请求中使用。

sessionScope:表示变量能在本次会话中使用。

applicationScope:表示变量能在整个应用程序中使用。

eg:
request:

A --//从页面到后台
jsp: 途径
1 url路径:xxx.action?id=1;
2 ajax
3 form表单
后台:
String accId = getRequest().getParameter("id");
----------------------
B--//从后台到页面
getRequest().setAttribute("id", accId);
jsp:
1
<%
   String id = request.getAttribute("id");
%>

2 ${requestScope.id}
放在标签里:
url="${basePath}/allot/listSimInfo.action?accId=${requestScope.id}"

C--不同地方获得后台传过来的参数:
标签:${requestScope.id}
js:
$(function(){
    var id = ${sessionScope.PORTAL_ACCOUNT_SESSION_KEY.code};
    alert(id);
});

$(function(){
        var id = <%=id%>;
        alert(id);
});
---------------------------------
request.getParameter() 和request.getAttribute() 区别

getParameter 是用来接受用post个get方法传递过来的参数的.
getAttribute 必须先setAttribute.

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


(2) 当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数,


(3) 当两个Web组件之间为转发关系时,转发目标组件通过getAttribute()方法来和转发源组件共享request范围内的数据。


------------------------------
两种页面跳转方式:
1 重定向
request.sendRedirect("xxx.jsp");

2 跳转
带session,request

request.setAttribute("id","123");

request.getRequestDispatcher().forward();
request.getRequestDispatcher("xxxx.jsp").forward(request, response);

                                                                                                                                               
                                                                                                                                                 
 
重定向         跳转
效率高  
  低
速度快 
客户端地址栏
可见地址栏变化 不可见地址栏变化
变量变化
以前的request中存放的变量全部失效,并进入一个新的request作用域以前的request中存放的变量不会失效, 就像把两个页面拼到了一起

                                                                                              
                                                  

         


-------------------------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值