方法 $.post(url,params,function(data){});
表单的action,method属性都没有
input 的类型只能为button不能为submit只能为button,否则点击button会执行表单action,不会走jquery异步
前台代码
<script type="text/javascript"> $(function() { //异步提交表单 $("#save").click(function(){ $.post("${ctx}/order/save.action",$("#form1").serialize(),function(data){ if(data=="true") { alert ("备注保存成功"); } }) }) }) </script> <form id="form1" > <input type="hidden" name ="oid" value="${orderVo.id}"> <textarea class="form-control" name ="remark" id ="text" rows="3" cols="140" >${orderVo.remark}</textarea> <input id="save" class="btn btn-primary" type="button" value="保存" />
后台代码:
public void save(){ PrintWriter out=null; try { System.out.println(oid); System.out.println(remark); orderService.saveRemark(oid,remark); HttpServletResponse response=ServletActionContext.getResponse(); out=response.getWriter(); out.print(true); out.flush(); out.close(); } catch (Exception e) { e.printStackTrace(); out.flush(); out.close(); out.println(0); } }
webx框架
velocity模板实现代码
分页bean
package com.alibaba.uyuni.biz.common.bo.dto; import java.io.Serializable; import com.alibaba.uyuni.common.enums.NumEnum; /** * 类Page.java的实现描述:TODO 类实现描述 * * @author 杨冬 2014年8月21日 下午1:19:25 */ public class UyuniPage<T> implements Serializable { /** * */ private static final long serialVersionUID = 8104777827863916550L; /** 每页显示记录数 **/ private Integer pageSize; /** 查询的集合 **/ private T data; /** 总页数 **/ private int totalPage; /** 当前页,第几页 **/ private Integer pageIndex; /** 总记录数 **/ private Integer totalNum; /** 是否有下页 **/ private boolean hasNextPage = false; /** 是否有上页 **/ private boolean hasPreviousPage = false; /** * @param pageSize 每页条数 * @param pageIndex 当前页,第几页 * @param totalNum 总记录数 * @param data 查询的集合 */ public UyuniPage(Integer pageSize, Integer pageIndex, Integer totalNum, T data){ super(); if (pageSize == null || pageSize == 0) { pageSize = NumEnum.FIVE.getValue(); } if (pageIndex == null || pageIndex == 0) { pageIndex = NumEnum.ONE.getValue(); } if (totalNum == null || totalNum == 0) { totalNum = 0; } this.pageSize = pageSize; this.data = data; // pageSize==0会报错 this.totalPage = (totalNum % pageSize == 0) ? (totalNum / pageSize) : (totalNum / pageSize + 1); this.pageIndex = (pageIndex == 0) ? (1) : (pageIndex); this.totalNum = totalNum; this.hasNextPage = (this.totalPage > 1 && this.totalPage > this.pageIndex); this.hasPreviousPage = (this.pageIndex > 1); } /** * @return the pageSize */ public Integer getPageSize() { return pageSize; } /** * @param pageSize the pageSize to set */ public void setPageSize(Integer pageSize) { this.pageSize = pageSize; } /** * @return the data */ public T getData() { return data; } /** * @param data the data to set */ public void setData(T data) { this.data = data; } /** * @return the totalPage */ public int getTotalPage() { return totalPage; } /** * @param totalPage the totalPage to set */ public void setTotalPage(int totalPage) { this.totalPage = totalPage; } /** * @return the pageIndex */ public Integer getPageIndex() { return pageIndex; } /** * @param pageIndex the pageIndex to set */ public void setPageIndex(Integer pageIndex) { this.pageIndex = pageIndex; } /** * @return the totalNum */ public Integer getTotalNum() { return totalNum; } /** * @param totalNum the totalNum to set */ public void setTotalNum(Integer totalNum) { this.totalNum = totalNum; } /** * @return the hasNextPage */ public boolean isHasNextPage() { return hasNextPage; } /** * @param hasNextPage the hasNextPage to set */ public void setHasNextPage(boolean hasNextPage) { this.hasNextPage = hasNextPage; } /** * @return the hasPreviousPage */ public boolean isHasPreviousPage() { return hasPreviousPage; } /** * @param hasPreviousPage the hasPreviousPage to set */ public void setHasPreviousPage(boolean hasPreviousPage) { this.hasPreviousPage = hasPreviousPage; } /** * @return the serialversionuid */ public static long getSerialversionuid() { return serialVersionUID; } }
vm页面
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.js"></script> <script type="text/javascript"> $(function() { $("#confirm").click(function(){ var studentId=$("#studentId").val(); if(studentId==""){ alert("新增学生"); $.ajax({ url:"/project/studentRpc/newStudent.json", type:"post", data:$('#studentform').serialize(), dataType: 'json', success:function(data){ var isAdd= data.content.successed; if(isAdd==true){ alert("新增成功"); window.location.reload(); } } }); }else{ //更新学生 $.ajax({ url:"/project/studentRpc/"+studentId+"/updateStudent.json", type:"post", data:$('#studentform').serialize(), dataType: 'json', success:function(data){ var isDeleted= data.content.successed; if(isDeleted==true){ alert("更新成功"); window.location.reload(); } } }); } }) }) </script> </head> <body> #if(${studentDto.id}) 修改 #else 新增 #end <form id="studentform"> <input id="studentId" type="hidden" name="id" value="$!studentDto.id"><br> 姓名<input type="text" name="name" value="$!studentDto.name"><br> 年龄<input type="text" name="age" value="$!studentDto.age"><br> 性别<input type="text" name="sex" value="$!studentDto.sex"><br> 年级<input type="text" name="grade" value="$!studentDto.grade"><br> 班级<input type="text" name="team" value="$!studentDto.team"><br> 老师<input type="text" name="teacher" value="$!studentDto.teacher"><br> </form> <button id="confirm">提交</button> </body>
buttom标签必须放到form标签外面,否则点击button会执行表单action,不会走绑定的异步事件
分页显示页面
#set($nextpage=$pb.pageIndex + 1) #set($previouspage=$pb.pageIndex - 1) #if($pb.hasPreviousPage == true) <a href="/project/student/studentshow.htm?pageIndex=$previouspage">上一页</a> #end #if($pb.hasNextPage == true) <a href="/project/student/studentshow.htm?pageIndex=$nextpage">下一页</a> #end <br> #foreach(${studentDto} in ${result}) <tr> <td>${studentDto.id}</td> <td>${studentDto.name}</td> <td>${studentDto.age}</td> <td>${studentDto.sex}</td> <td>${studentDto.grade}</td> <td>${studentDto.team}</td> <td>${studentDto.teacher} </td> <td><a href="/project/student/form.htm?studentId=${studentDto.id}">编辑</a></td> <td><a href="javascript:void(0);" onclick = "return delStudent(${studentDto.id});">删除</a></td> </tr> <br> #end <a href="/project/student/form.htm">新增</a> </div>
vm做加减运算必须在set标签里面做,且运算符两边必须有空格
#set($a=10) #set($b=$a - 1) ------------ <span>$b</span>
不能直接像freemaker一样 ${b-1}
http://liu400liu.iteye.com/blog/1197466
参考文章:
http://1194867672-qq-com.iteye.com/blog/1945827
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。