Turbin学习笔记

Turbin学习应该注意的地方:

##注释

1. 注意:
public class NewUserFoo extends VelocityAction

 原来,在我们的这个继承自VelocityAction 的Action开始执行的时候,有一个“event”也同时传递给了它[ii]。Turbine会根据这个“event”自动去执行相应的方法[iii]。如果没有指定“event”或指定的“event”没有对应的处理方法的话,doPerform()方法将会被执行。
  好了,看到这样的机制给我们带来了一个什么样的结果了吗?我们可以把原来需要用一个Action类来完成的事务写到ActionEvent类的一个方法里!这样,我们就不必为每一个“Action”都写一个对应的类,给我们日后的程序维护和文档维护带来了非常大的便利之处。尤其在一个页面中有很多Button的时候,我们就能更轻松的应付,并且阻止了我们陷入“if…else if…”的怪圈。
  然而,为了获得这项神奇的能力,我们不得不以自由为代价……J:
  1、Action Event name必须以“eventSubmit_”作为前缀
  2、完成Action Event的方法必须以“do”打头
  3、“do”之后的第一个字母必须大写,其余的字母必须小写

2.请注意,现在,Velocity的数字比较仅限于Integers – 任何其它的类型都会返回false。唯一的例外是“==”,Velocity要求“==”两边的对象必须是同一种类型。

3.Turbine首先将.vm文件名的第一个字母大写,再去classpath中查找是否有相应的类。
例如,如果模版文件名为Normal.vm或normal.vm的话,Turbine就会去查找是否存在类名为Normal的这个类;
同样,helloWorld.vm对应HelloWorld这个类,role_editor对应Role_editor这个类。
4. 输出用 $!变量 这样就不用判断是否为空了

5. 字符串比较 if($a == "1"){} 注意:数字比较仅限于Integers 如Integer a = new Integer(1) 页面if($a==1)//true
6. #parse("/文件名") 引入文件时, 该文件要在templates的根目录下

8. 传参: context.put ("username", username);
9. foreach的使用:#foreach($departmentVo in $departmentVoList) 内容 #end

9. 利用Turbin的分页类:
<script type="text/javascript">
/**
*翻页脚本
*@param pageIndex 页号
*@param frm 翻页的表单
*/
function TurnPage(pageIndex,frm){
numStr = /^(\d*)?$/;
if(frm==null || frm==''){
frm=document.getElementById('listForm');
}else{
frm=document.getElementById(frm);
}
//设置点分页时的提交默认值, 1:查找
frm.smtType.value="1";

if(frm!=null && frm.pageIndex!=null){
if (pageIndex!="goto"){
frm.pageIndex.value = pageIndex;
}
if(numStr.exec(frm.pageIndex.value)!=null && frm.pageIndex.value>0){
frm.submit();
}else{
alert('\u9875\u7801\u8f93\u5165\u9519\u8bef\uff0c\u8bf7\u91cd\u65b0\u8f93\u5165!'); //alert("页码输入错误,请重新输入!)"
}
}
}


</script>


##分页 要传pageInfo过来
<table>
<!--<table width="100%" border="0" cellpadding="0" cellspacing="0">-->
<tr>
<td><span>每页$!pageInfo.pageSize 条&nbsp;&nbsp;共有$!pageInfo.recordCount 条/$!pageInfo.pageCount 页
##下一页 尾页
#if($pageInfo.pageIndex==$pageInfo.prePageNo||$pageInfo.prePageNo==0)
上一页 首页
#else
<a href="javascript:TurnPage('$pageInfo.prePageNo','listForm')">上一页</a> <a href="javascript:TurnPage('$pageInfo.startNo','listForm')">首页</a>
#end

##for 循环
#set($beginNo=$pageInfo.rangeMin)
#set($endNo=$pageInfo.rangeMax)
#foreach($i in [$beginNo ..$endNo] )
#if($i==$pageInfo.pageIndex)
##不加链接
<font color="red">$i</font>
#else
##加上链接
<a href="javascript:TurnPage('$i','listForm')">$i</a>
#end
#end

##下一页 尾页
#if($pageInfo.pageIndex==$pageInfo.nextPageNo||$pageInfo.nextPageNo==0)
下一页 尾页
#else
<a href="javascript:TurnPage('$pageInfo.nextPageNo','listForm')">下一页</a> <a href="javascript:TurnPage('$pageInfo.endNo','listForm')">尾页</a>
#end
&nbsp;&nbsp;
<input value="$!pageInfo.pageIndex" name="pageIndex" type="text" size="4" style="height:18px;" onkeypress="if(event.keyCode=='13'){ document.getElementById('go').focus(); }"/>
&nbsp;&nbsp;<input type="button" name="go" onclick="TurnPage ('goto','listForm')" value="确定" />
</span>
</td>
</tr>
</table>

你可能感兴趣的:(JavaScript,脚本,velocity,J#,Go)