Mayaa框架语法及项目常用
0、模板
// xx.html
<html>
<body>
<input type="text" value="dd" name="aa" id="button1" size="11"/>
</body>
</html>
// xx.mayaa
<?xml version="1.0" encoding="UTF-8"?>
<m:mayaa xmlns:m="http://mayaa.seasar.org">
<m:echo m:id="button1">
<m:attribute name="type" value="button"/> // 此处会替换xx.html中input的type属性的值
<m:attribute name="value" value="逃之夭夭灼灼其华"/>
<m:attribute name="size" value="${null}"/> // 此处会删除xx.html中input的size属性
<m:attribute name="value" value="${getValue().toStr()}"/> // 如果需要js方法,需要${js方法}这样操作,如果需要变量也如此操作
</m:echo>
</m:mayaa>
// 执行结果
<html>
<body>
<input type="button" value="dd" name="逃之夭夭灼灼其华" id="button1"/>
</body>
</html>
1、 常用语法
1.1、 write: 替换内容 (常用)
// xx.html
<div>
<span id="name"></span>
</div>
// xx.mayaa
<m:write m:id="name" value="陈龙"/>
// 执行结果
<div>
陈龙 //会替换掉span标签
</div>
/如果不想替换dom标签,则:添加 replace="false"
// xx.mayaa
<m:write m:id="name" value="陈龙" replace="false"/>
// 执行结果
<div>
<span id="name">陈龙</span>
</div>
/另外如果你不想取代模板的值而是使用模板的值,可用:
// xx.mayaa
<m:write m:id="name" value="${bodyText}" default="默认值"/>
// 在value属性的脚本中,有个变量是“bodyText”,它里面存储了原html模板中标记体的内容,没有标记体的时候,在value属性中可以使用这个变量。mayaa中默认有个变量bodyText存储模板原内容,当然,如果有替换值,还是替换值优先,另外default可设置默认值,但是无法设置bodyText
1.2、 formatNumber: 输出数字
value:要输出的值
pattern:输出格式,以java.text.SimpleDateFormate为准
default:Value为null的时候的默认值
// xx.html
<span id="num"></span>
// xx.mayaa
<fmt:formatNumber m:id="num" value="123" default="456"/>
// 执行结果
123
1.3、 formatDate: 输出日期
value:要输出的值
pattern:输出格式,以java.text.SimpleDateFormate为准
default:Value为null的时候的默认值
// xx.html
<span id="date"></span>
// xx.mayaa
<fmt:formatDater m:id="date" value="2008/06/09" default="2008/06/06"/>
// 执行结果
2008/06/09
1.4 、获取数据
// xx.html
<span id="name"></span>
// xx.mayaa
<m:beforeRender>
Request.setAttribute(‘bean’, new Packages.example.MyBean());
// 假定bean.getName="豆豆"。另外读取的bean字段并非bean字段的名字,而是get方法中的get后面的字段,比如bean中的get方法为"getName",那么获取时就是bean.name,而非bean.getName或者bean.Name之类。
</m:beforeRender>
<m:write m:id="name" value="${bean.name}"/>
// 执行结果
豆豆
元数据获取及使用还可以更加简单:
<m:write m:id="name" value="${request.getAttribute(‘属性名’) }"/>
或者:(这种用的比较多)
<m:write m:id="name" value="${属性名} "/>
另外元数据的取值方式和jsp类似,但jsp是request和session,mayaa是优先顺序为:page,request,session,application,都找不到就抛异常,另外获取客户端传值可用${param.xx}
1.5、 if (常用)
// if.html
<html>
<body>
<span id="visible">
<span id="message">dummy message</span>
</span>
</body>
</html>
// if.mayaa
<?xml version="1.0" encoding="UTF-8"?>
<m:mayaa xmlns:m="http://mayaa.seasar.org">
<m:if m:id="visible" test="${ 1 == 1 }" />
<m:write m:id="message" value="Hello Mayaa!" />
</m:if>
</m:mayaa>
/逻辑判断符:(< → < > → > & → &)
//显示页面
<html>
<body>
<span>
Hello Mayaa!
</span>
</body>
</html>