奇怪的El取Cookie的值

Struts2 action这样设置后

[code="java"]
Cookie cookie = new Cookie("userName",userName);
cookie.setMaxAge(20000);

    response.addCookie(cookie);

[/code]

在jsp页面中这样就能拿到Cookie的值
[code="java"]
${cookie.userName.value }
[/code]

不是很明白,高手解析
[b]问题补充:[/b]
el表达式还能处理这么复杂的逻辑吗?
${},我一直用它取scope里面的值,

${cookie.userName.value }这样写,它有具体的规则吗?

看来el表达式水也很深啊

同学,先去研究下jsp的内置对象吧、

http://bye.iteye.com/blog/202640

http://java.ccidnet.com/art/297/20060319/483247_1.html

jsp有9个内置对象,cookie是其中之一,它就是专门用来得到cookie的值的,

jsp中的${cookie.userName.value }这种el表达式,是会被jsp容器解析成

Cookie[] cookies = request.getCookies();
Cookie current=null;
for(Cookie cookie :cookies)
{
if(cookie.getName().equals("userName"))
current = cookie ;

}

if(cookie != null)
out.print(cookie.getValue());