OGNL中特殊字符的用法和含义
构建JSP页面引入Struts2的标签库
一、#
1、获取context当中的是数据
JSP页面
2、使用#来构建List集合
在JSP页面上写如下内容
在浏览器当中测试
3、使用 # 来构建Map集合
在JSP页面
浏览器当中测试
4、拓展(关于表单)
传统的选项是这样的
效果
通过OGNL表达式来 list集合
浏览器显示效果
通过OGNL表达式来 Map集合
二、%
1、强制解析OGNL
在文本框的value当中OGNL表达式无法直接使用,需要强制解析
2、强制不解析OGNL
在 s : property 的value当中正常OGNL表达式会被解析,可以通过以下方式将OGNL表示不解析。
三、$
1、在配置文件当中使用OGNL
(1)属性文件:
国际化地方使用:
不同的情况下读取不同的文件,显示不同的语言
在属性文件当中正常是无法使用OGNL,在OGNL表达式外面加上${}就可以正常ONGL表达式
读取对应的键获取其值
message_zh_CN.properties
user.login=登录
user.welcome=欢迎,${#session.user.username}
message_en_US.properties
user.login=Login
user.welcome=Welcome,${#session.user.username}
(2)XML文件:
文件下载
配置
<action name="download" class="xxx.DownloadAction">
<result type="stream">
<param name="Content-Type"> 文件类型(变量) </param>
<param name="Content-Disposition">attachment;filename=${ 文件名(变量) }</param>
</result>
</action>
可以从值栈当中获取对应变量的值