JavaWeb学习:OGNL特殊字符

一、#号

   ①、获取context中的数据

<h3>获取context中数据</h3>
<%
    request.setAttribute("name", "zhangsan");
%>
<s:property value="#request.name"/><br />

  ②、构建Map集合(#{'aa':'11','bb':22,'cc':'33'})

<!-- 循环遍历Map集合 -->
<s:iterator var="entry" value="#{'aa':'11','bb':22,'cc':'33'}">
    <s:property value="key" /> --- <s:property value="value" /><br />
    <s:property value="#entry.key" /> --- <s:property value="#entry.value" /><br />
</s:iterator>

二、%号

  ①、强制解析ognl

<!-- 强制解析ognl -->
<s:textfield name="txt" value="%{#request.name}"/>

  ②、强制不解析ognl(基本不用)

<!-- 强制不解析ognl -->
<s:property value="%{'#request.name'}"/>

三、$号

  在配置文件中使用OGNL

    • 属性文件
      • 国际化:
        • message_zh_CN.properties
          • user.login=登录
          • user.welcome=欢迎,${#session.user.username}
        • message_en_US.properties
          • user.login=login
          • user.welcome=welcome,${#session.user.username}
    • XML文件
      • 文件下载
        •         <action name="download" class="com.xxx.struts2.ognl.web.action.DownloadAction">
                      <result type="stream">
                          <param name="Content-Type">文件类型</param>
                          <param name="Content-Disposition">attachment;fileName=${文件名}</param>
                      </result>
                  </action>
原文地址:https://www.cnblogs.com/WarBlog/p/14069468.html