理解Ognl的几个特殊符号
# 获取非根元素值 、 动态都建map集合
$ 配置文件取值
% 提供一个ognl表达式运行环境
比如:将China放入request域中,key为cn,那么在jsp中读取值为一下几种:<body>
<br/>获取request域数据<br/>
<!-- property 标签是对象类型的标签,默认支持ognl表达式, 会从根元素去China名称对应的值 -->
<s:property value="China"/> <br/> <!-- 这种写法为直接从根节点取key为China的值,显然为null -->
<!-- 如果直接赋值,需要用单引号 -->
<s:property value="'China'"/> <br/>
//下面的两种写法是相同的,因为对象标签本身就支持ognl表达式,因此加不加%{}都是相同的
<s:property value="%{#request.cn}"/> <br/>
等价于:
<s:property value="#request.cn"/> <br/>
<!-- 值类型的标签,value值默认就是值类型,不支持ognl表达式 -->
国家:<s:textfield name="txtCountry" value="%{#request.cn}"></s:textfield>
</ body >重点在区分对象标签与值标签:
值标签顾名思义就是直接赋值即可,当取值时需要使用ognl表达式,而对象标签则是默认支持ognl表达式,根节点的直接取值即可,非根需要添加#