request里的东西,都同时也放在了valueStack的顶层。
以前是request、response、context等这些是基本默认对象作为根值对象,在栈的顶层,你可以直接调用,比如request.什么什么。
现在Sturts2,顶层换了。比如你的request里先前存了一个叫name的变量,那么OGNL中,你这样就可以:
如果是普通HTML标签,这样:
这样取值。
我觉得它俩反过来就不好用,也不知道是不是我配置的问题。
那么假如你需要用request或response了,实际上调用:
ServletActionContext.getRequest();或
ServletActionContext.getResponse();
现在OGNL用井号#代替了上面,即#request就可以取到了。
又比如你自己
#addr
与
%{addr}或${addr}
是两个东西,后者是request里的,当然人为也可能让它们都指同一个东西。