jsp request.getAttribute 中如何取值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp request.getAttribute 中如何取值?相关的知识,希望对你有一定的参考价值。

<logic:equal name="reportForm" property="viewFlg" value="2">
<table width="765" cellpadding=2 cellspacing=0 border=1 align="center" class="table_style_100">
<tr class="tr_title">
<%
String storeName[] = (String[])request.getAttribute("allhead");
String allbody[][] = (String[][])request.getAttribute("allbody");
%>

<td nowrap width="2%" class="td_titletr"><bean:write name="commitDateListView" property="storeName[]" /></td>

<td nowrap width="2%" class="td_titletr"><bean:write name="commitDateListView" property="allbody[][]" /></td>
</tr>
</table>
</logic:equal>

jsp request.getAttribute是通过key来获取value的。
比如
SelRs rsSr=(SelRs)request.getAttribute("oaSr");
String dbType=(String)request.getAttribute(WebKeys.DbType);
这两句话是同一个意思..
SelRs rsSr=(SelRs)request.getAttribute("oaSr");是获得request.setAttribute("oaSr",对象);中的对象;而String dbType=(String)request.getAttribute(WebKeys.DbType); 是获得request.setAttribute("**","值");**和WebKeys.DbType的值一样;
参考技术A request.setAttribute("allhead",字符串数组)
request.setAttribute("allhead",字符串二维数组)

你已经取出来了 在storName和allbdoy中本回答被提问者采纳
参考技术B 先set才能get啊!
request.setAttribute("allhead",字符串数组);之后再
request.getAttribute("allhead",字符串数组);
参考技术C request.setAttribute("allhead",字符串数组)
request.setAttribute("allhead",字符串二维数组)

你已经取出来了 在storName和allbdoy中
参考技术D 赋值后取键值就可以了

JSP内置对象

1.request

服务器端接收参数。

1)给请求的对象添加数据用request.setAttribute(key,value)

2)从请求的对象中取出数据是request.getAttribute(key)

3)接收cookie(一些网站的记录存储在本地,类似淘宝的记住用户登录)

cookie存的是key,value,ck.getName()--->key

<%
//检查Cookie
//获得Cookie集合
Cookie[] cks=request.getCookies();
for(Cookie ck:cks)
{
    out.write(ck.getName()+"="+URLDecoder.decode(ck.getValue())+"<br>");
}
%>

2.response

服务器端发送数据,浏览器接收。

1)发送信息时,不缓存,立即向浏览器发送。

2)发送cookie

//创建cookie
        Cookie ck = new Cookie("cardid",cardid);
        ck.setMaxAge(10 *24 *60*60); //设置过期时间
        
        response.addCookie(ck); //发送
        String username="张三";
        //对中文进行转码
        Cookie ck1 = new Cookie("username",URLEncoder.encode("张三"));
        response.addCookie(ck1);

3.session

会话对象,记住当前用户信息。

1)setAttribute("key",object)

2)getAttribute("key") ,返回的是对象的属性值

跳转页面之后,request不能获取数据,但是session可以得到数据

<%
//判断session
String cardid=session.getAttribute("cardid").toString();
out.write("cardid="+cardid);
%>
<a href="Testlogin.jsp">测试是否已成功登录的页面</a>
<%
Object obj=session.getAttribute("cardid");
if(obj==null)
{
    out.print("你没有登录");
    response.setHeader("refresh", "2;url=loginin.jsp");
}
else
{
    out.print("cardid="+obj.toString());
    //销毁所有session
    //session.invalidate();
    //移除某个属性
    session.removeAttribute("cardid");

}
%>

设置session超时时间  setMaxInactiveInterval(秒数) 默认tomcat的session20分钟,超过20分钟,没有请求发送给服务器,session就会失效
时间是重置的,在未达到请求时间时,依次过来的请求,都会重设时间

4.application

是服务器共享的对象

//获取application属性
int count=Integer.parseInt(application.getAttribute("count").toString());
out.print("<br>网站计时器:"+count++);
application.setAttribute("count", count);
%>

 


以上是关于jsp request.getAttribute 中如何取值?的主要内容,如果未能解决你的问题,请参考以下文章

jsp request.getAttribute 中如何取值?

谁和我说说JSP中request的getAttribute()和getParamter的区别的!举个例子最好

java Web中在啥时候用request.getAttribute()?何时用request.getParameter()呢?

jsp request对象

request.getAttribute()与request.setAttribute()

request.getAttribute()和request.getParameter()区别