OGNL表达式详解编程语言

OGNL表达式标签中的值有三种:

1.直接是OGNL表达式。

2.字符串需转义自OGNL表达式。

1)OGNL表达式转换为字符串显示,需要用”(单引号)引起来。

2)转为OGNL表达式的字符串,需要加%{字符串}来转换

3.只能是字符串。

标签:

一、数据标签

1.property — 显示数据

value — 要显示的内容,放OGNL表达式 如果要显示字符串,需要用”引起来。

escape — true/false    默认是true, 改为false显示html效果标签

default 默认值,放字符串,不是放OGNL

<s:property value="'<h1>HAHA<h1>'" escape="false" default="[这是默认值]"/>

OGNL表达式详解编程语言

2.set — 设置一个新变量,赋值

var — 新变量名

scope –范围 page/request/session/application

value –变量值,OGNL表达式,字符串要加单引号

<s:set var="ah" value="newsList" scope="request"></s:set> 
<s:property value="#request.ah"/>

OGNL表达式详解编程语言

3.url — 生成网址

var — 变量名

value–要生成的URL地址,字符串可转义自OGNL,要手动写出完整的地址。

action — 要生成的URL地址,字符串可转义自OGNL,生成出绝对路径。一般用这个

<s:url var="uu" action="News_getAll"></s:url> 
<s:property value="#uu"/>

 

OGNL表达式详解编程语言

4.bean — JavaBean的实现类

name — 要实例化的Java类

var — 变量名

5.param — 生成参数

name — 标签名

value — OGNL表达式,加单引号

<s:bean name="com.itnba.maya.domel.News" var="bbb"> 
    <s:param name="biaoti" value="'这是自定义的标题'"></s:param> 
</s:bean> 
<s:property value="#bbb.biaoti"/>

OGNL表达式详解编程语言

<s:url var="uu" action="News_getAll"> 
    <s:param name="ids" value="'k001'"></s:param> 
</s:url> 
<s:property value="#uu"/>

 

OGNL表达式详解编程语言

 

6.date — 格式化输出日期
name — 要格式化的日期值 — OGNL表达式
format — 格式化显示的格式。

<s:date name="date" format="yyyy年MM月dd日" var="mydate"/> 
<s:property value="mydate"/>

OGNL表达式详解编程语言

二、控制标签

1.if…else if …else
test — 表格式 OGNL

2.iterator
var
value –OGNL
status :even,odd,first,last,index,count
begin
end
step

<s:iterator var="aa" value="newsList" status="st"> 
<s:if test="#st.even"> 
<div style="background-color:#666666;"> 
</s:if> 
 
<s:else> 
<div> 
</s:else> 
<s:property value="#st.index+1"/>. 
<s:property value="#aa.biaoti"/> 
</div> 
</s:iterator>

OGNL表达式详解编程语言

 

3.append/merge/subset

var–新的对象名
<param> 子元素

<s:set value="{'aa','bb','cc'}" var="aa"></s:set> 
<s:set value="{'11','22','33'}" var="bb"></s:set> 
<s:append var="all"> 
    <s:param name="one" value="#aa"></s:param> 
    <s:param name="two" value="#bb"></s:param> 
</s:append>

OGNL表达式详解编程语言

 

<s:set value="{'aa','bb','cc'}" var="aa"></s:set> 
<s:set value="{'11','22','33'}" var="bb"></s:set> 
<s:merge var="all"> 
    <s:param name="one" value="#aa"></s:param> 
    <s:param name="two" value="#bb"></s:param> 
</s:merge> 
<s:iterator value="#all"  var="t"> 
<s:property value="#t"/><br> 
</s:iterator>

OGNL表达式详解编程语言

 

4.generater
seperator–分隔符
val–被分隔的字符串
var — 分隔成的数组名

<s:generator val="'a,b,c,d'" separator="," var="s"></s:generator> 
<s:iterator value="#s" var="t"> 
<s:property value="#t"/><br> 
</s:iterator>

OGNL表达式详解编程语言

5.sorted
source — 集合
comparator — 对比器对象

<s:set value="{'aaaa','bb','ccc','dddd'}" var="arr"></s:set> 
<s:bean name="com.itnba.maya.domel.Duibiqi" var="duibiqi"></s:bean> 
<s:sort comparator="duibiqi" var="sss" source="#arr" > 
    <s:iterator var="str"> 
        <s:property value="#str"/><br> 
    </s:iterator> 
</s:sort> 
<s:property value="#arr.size()"/>

还需要建一个类,实现Comparator接口。用来做对比器

package com.itnba.maya.domel; 
 
import java.util.Comparator; 
 
public class Duibiqi implements Comparator<String>{  
 
    @Override 
    public int compare(String o1, String o2) { 
        if(o1.length() > o2.length()){ 
            return -1; 
        } 
        else if(o1.length() == o2.length()){ 
            return 0; 
        } 
        else{ 
            return 1; 
        } 
    } 
 
}

 

OGNL表达式详解编程语言

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/16997.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论