OGNL中的特殊字符

1 #

1.1 获取context对象

<body>
    <h3>#号的用法</h3>
    <h5>获取context对象</h5>
    <%
        request.setAttribute("name", "kobe");
    %>
    <s:property value="#request.name"/>
</body>

1.2 构建list集合

  •         <s:property value="i"/><br/>
  •         <s:property value="#i"/><br/>
  •         这两种方式均可
<body>
    <h3>#号的用法</h3>
    <h5>构建list集合</h5>
    <s:iterator var="i" value="{'aa','bb','cc'}">
        <s:property value="i"/><br/>
        <s:property value="#i"/><br/>
    </s:iterator>
</body>

1.3 构建map集合

  •         <s:property value="key"/>--<s:property value="value"/><br/>
  •         <s:property value="#entry.key"/>--<s:property value="#entry.value"/><br/>
  •         这两种方式均可
<body>
    <h3>#号的用法</h3>
    <h5>构建map集合</h5>
    <s:iterator var="entry" value="#{'aa':'123','bb':'456','cc':'789'}">
        <s:property value="key"/>--<s:property value="value"/><br/>
        <s:property value="#entry.key"/>--<s:property value="#entry.value"/><br/>
    </s:iterator>
</body>

1.4 list和map集合的其他示例

<body>
    <h3>#号的用法</h3>
    <h5>list和map其他示例</h5>
    <!-- list示例 -->
    <s:radio list="{'男','女'}" name="sex" label="性别"/><br/>
    <!-- map示例 -->
    <s:radio list="#{'1': '男','2':'女'}" name="sex2" label="性别"/>
</body>

    构建list集合时可用可不用#号,构建map集合时通常需要使用#号 

2 %

2.1 强制解析OGNL(数据回显)

<body>
    <h3>%号的用法</h3>
    <h5>强制解析OGNL</h5>
    <%
       request.setAttribute("name", "kobe");
    %>
    姓名:<s:textfield name="name" value="%{#request.name}"/>
</body>

2.2 强制不解析OGNL(基本不用)

只需要将上述的value中的值加单引号,则将#request.name判定为字符串

姓名:<s:textfield name="name" value="%{'#request.name'}"/>

3 $

3.1 在配置文件中使用OGNL

3.1.1 属性文件(比如国际化)

Message_zh_CN.properties
User.login=登录
User.welcome=欢迎,${#session.user.username}
Message_en_US.properties
User.login=Login
User.welcome=welcome,${#session.user.username}

3.1.2 xml文件(比如文件下载)

<action name=”download” class=”xxx.DownloadAction>
<result type=”stream”>
    <param name=”Content-Type”>文件类型</param>
    <param name=”Content-Disposition”>attachment;filemane=${文件名}</param>
</action>

猜你喜欢

转载自blog.csdn.net/W2612888/article/details/85058803