DWZ的应用

001、点击链接添加局部div

Html代码 复制代码 收藏代码
  1. <a href="xxx.action?param1=x1&param1=2"
  2. target="ajax" rel="ExchangeBox"><%=zw.getZwmc() %></a>
<a href="xxx.action?param1=x1&param1=2"   
     target="ajax" rel="ExchangeBox"><%=zw.getZwmc() %></a>

002、删除操作刷新局部div

Html代码 复制代码 收藏代码
  1. <!--自定义ajaxTodoDone函数-->
  2. <script>
  3. function ajaxTodoDone(backUrl,divID){
  4. $("#"+divID).loadUrl(backUrl,'',function(){
  5. $("#"+divID).find("[layoutH]").layoutH();
  6. });
  7. }
  8. </script>
  9. <a class="btnDel" title="确定要删除该用户吗?" target="ajaxTodo"
  10. callback="ajaxTodoDone('xxx.action','divRel')"
  11. href="xxx.action">删除</a>
<!--自定义ajaxTodoDone函数-->
<script>
function ajaxTodoDone(backUrl,divID){
    $("#"+divID).loadUrl(backUrl,'',function(){
                 $("#"+divID).find("[layoutH]").layoutH();
             });
} 
</script>

<a class="btnDel" title="确定要删除该用户吗?" target="ajaxTodo"  	 
   callback="ajaxTodoDone('xxx.action','divRel')" 		
   href="xxx.action">删除</a>      

003、form表单验证

Html代码 复制代码 收藏代码
  1. <form class="pageForm required-validate"
  2. onsubmit="return submitForm(this,navTabAjaxDone);">
  3. <input type="text" validateCallback
  4. class="required date email url equalTo alphanumeric
  5. lettersonly phone number digits accept postcode"
  6. maxlength=""
  7. minlength=""
  8. max=""
  9. min=""/>
  10. </form>
<form class="pageForm required-validate" 
          οnsubmit="return submitForm(this,navTabAjaxDone);">
     <input type="text" validateCallback
           class="required date email url equalTo  alphanumeric 
                      lettersonly phone number digits accept postcode"
            maxlength=""
            minlength=""
           max=""
           min=""/>
</form> 

004、文件上传

1、利用jquery

Html代码 复制代码 收藏代码
  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3. $("#uploadify").uploadify({
  4. /*是组件自带的flash,用于打开选取本地文件的按钮 */
  5. 'uploader' : 'uploadify/scripts/uploadify.swf',
  6. 'script' : 'ssj/upLoad.action',
  7. /*额外参数*/
  8. 'scriptData':{ 'navTabId':'page41','callbackType':'closeCurrent',
  9. 'ajax':'1','user.userid':'${user.userid}'
  10. },
  11. /*取消上传文件的按钮图片,就是个叉叉 */
  12. 'cancelImg' : 'uploadify/cancel.png',
  13. /*和input的name属性值保持一致就好,Struts2就能处理了*/
  14. 'fileDataName' : 'file',
  15. 'queueID' : 'fileQueue',
  16. 'auto' : true,//是否选取文件后自动上传
  17. 'multi' : false,//是否支持多文件上传
  18. 'simUploadLimit' : 1,//每次最大上传文件数
  19. 'queueSizeLimit' : 50,
  20. 'removeCompleted' :false,
  21. 'buttonImg':'uploadify/choose.png',
  22. /*有speed和percentage两种,一个显示速度,一个显示完成百分比 */
  23. 'displayData' : 'percentage',
  24. /*如果配置了以下的'fileExt'属性,那么这个属性是必须的*/
  25. 'fileDesc' : '*.bmp;*.gif;*.png;*.jpeg;*.jpg;*.pjpeg;*.x-png;',
  26. /*允许的格式*/
  27. 'fileExt' : '*.bmp;*.gif;*.png;*.jpeg;*.jpg;*.pjpeg;*.x-png;',
  28. 'onComplete': function(event, queueID, fileObj,serverData,data) {
  29. /* var json=eval(serverData);
  30. dialogAjaxDone(serverData);*/
  31. var json=eval('('+serverData+')');
  32. dialogAjaxDone(json);
  33. }
  34. });
  35. });
  36. //function showResult() {//删除显示的上传成功结果
  37. // $("#result").html("");
  38. //}
  39. function uploadFile() {//上传文件
  40. jQuery('#uploadify').uploadifyUpload();
  41. }
  42. function clearFile() {//清空所有上传队列
  43. jQuery('#uploadify').uploadifyClearQueue();
  44. }
  45. </script>
  46. <div style=" text-align:left; padding-left:20px;padding-top:5px;">
  47. <div id="fileQueue"></div>
  48. <input type="file" name="file" id="uploadify"/>
  49. </div>
<script  type="text/javascript">
$(document).ready(function() {  
	
$("#uploadify").uploadify({  
 /*是组件自带的flash,用于打开选取本地文件的按钮  */
     'uploader' : 'uploadify/scripts/uploadify.swf',
     'script' : 'ssj/upLoad.action',
 /*额外参数*/     
    'scriptData':{  'navTabId':'page41','callbackType':'closeCurrent',
                        'ajax':'1','user.userid':'${user.userid}'
                     }, 
/*取消上传文件的按钮图片,就是个叉叉 */
   'cancelImg' : 'uploadify/cancel.png',
/*和input的name属性值保持一致就好,Struts2就能处理了*/
    'fileDataName' : 'file',
        'queueID' : 'fileQueue',  
        'auto' : true,//是否选取文件后自动上传  
        'multi' : false,//是否支持多文件上传  
        'simUploadLimit' : 1,//每次最大上传文件数  
        'queueSizeLimit' : 50,  
        'removeCompleted' :false,  
        'buttonImg':'uploadify/choose.png',
/*有speed和percentage两种,一个显示速度,一个显示完成百分比  */
        'displayData' : 'percentage',
/*如果配置了以下的'fileExt'属性,那么这个属性是必须的*/  
        'fileDesc' : '*.bmp;*.gif;*.png;*.jpeg;*.jpg;*.pjpeg;*.x-png;',
/*允许的格式*/   
        'fileExt' : '*.bmp;*.gif;*.png;*.jpeg;*.jpg;*.pjpeg;*.x-png;',
        'onComplete': function(event, queueID, fileObj,serverData,data) {
           /* var json=eval(serverData);
           dialogAjaxDone(serverData);*/
           var json=eval('('+serverData+')');
           dialogAjaxDone(json);
         }       
    });  
});  

//function showResult() {//删除显示的上传成功结果  
//  $("#result").html("");  
//}  
function uploadFile() {//上传文件  
    jQuery('#uploadify').uploadifyUpload();  
}  
function clearFile() {//清空所有上传队列  
    jQuery('#uploadify').uploadifyClearQueue();  
}  
</script>

<div style=" text-align:left; padding-left:20px;padding-top:5px;">               
                <div id="fileQueue"></div>                    
                <input type="file" name="file" id="uploadify"/>
 </div> 

2、dwz 的iframeCallback();

Html代码 复制代码 收藏代码
  1. <form method="post"
  2. action="Exchange_addQyexchange.action?
  3. navTabId=page51&callbackType=closeCurrent&ajax=1"
  4. class="pageForm required-validate" onSubmit="return
  5. iframeCallback(this, navTabAjaxDone);"
  6. enctype="multipart/form-data">
  7. <input type="file" name="file" />
  8. </form>
<form method="post"  
           action="Exchange_addQyexchange.action?
           navTabId=page51&callbackType=closeCurrent&ajax=1"  
           class="pageForm required-validate" onSubmit="return 
           iframeCallback(this, navTabAjaxDone);" 
           enctype="multipart/form-data">
    <input type="file" name="file" />
</form>

005、刷新navTab

form提交刷新

Html代码 复制代码 收藏代码
  1. <form method="post"
  2. action="Exchange_modefyInfo.action?
  3. navTabId=page51& callbackType=closeCurrent"
  4. class="pageForm required-validate"
  5. onsubmit="return validateCallback(this, navTabAjaxDone);" >
<form method="post" 
          action="Exchange_modefyInfo.action?
           navTabId=page51& callbackType=closeCurrent" 
          class="pageForm required-validate" 
          οnsubmit="return validateCallback(this, navTabAjaxDone);" >

链接<a>提交刷新

Html代码 复制代码 收藏代码
  1. <a title="您确定要删除么?" target="ajaxTodo" href="xxx.action" class="btnDel" >删除</a>
<a title="您确定要删除么?" target="ajaxTodo" href="xxx.action" class="btnDel" >删除</a> 

006、日历插件

调整日历选择范围

Js代码 复制代码 收藏代码
  1. /*dwz.datepicker.js*/
  2. var Datepicker = function(sDate, opts) {
  3. this.opts = $.extend({
  4. pattern:'yyyy-MM-dd',
  5. yearstart:-80,
  6. yearend:10
  7. }, opts);
  8. this.sDate = sDate.trim();
  9. }
/*dwz.datepicker.js*/
	var Datepicker = function(sDate, opts) {
		this.opts = $.extend({
			pattern:'yyyy-MM-dd',
			yearstart:-80,
			yearend:10
		}, opts);		
		this.sDate = sDate.trim();
	} 

007、弹窗传值

008、列表翻页

翻页工具类Pager.java

Java代码 复制代码 收藏代码
  1. //翻页工具类Pager
  2. import java.io.Serializable;
  3. public class Pager implements Serializable{
  4. //用来标记是navTab上的分页还是dialog上的分页
  5. private String targetType;
  6. //总条数
  7. private Integer totalCount;
  8. //每页显示多少条
  9. private Integer numPerPage;
  10. // 页标数字多少个
  11. private Integer pageNumShown;
  12. //当前是第几页
  13. private Integer currentPage;
  14. public Pager(){this.numPerPage = 10;}
  15. public Pager(String targetType,Integer totalCount,Integer numPerPage,
  16. Integer pageNumShown,Integer currentPage){
  17. this.targetType = targetType;
  18. this.totalCount = totalCount;
  19. this.numPerPage = numPerPage;
  20. this.pageNumShown = pageNumShown;
  21. this.currentPage = currentPage;
  22. }
  23. public String getTargetType() {
  24. return targetType;}
  25. public void setTargetType(String targetType) {
  26. this.targetType = targetType;}
  27. public Integer getTotalCount() {
  28. return totalCount;}
  29. public void setTotalCount(Integer totalCount) {
  30. this.totalCount = totalCount;}
  31. public Integer getNumPerPage() {
  32. return numPerPage;}
  33. public void setNumPerPage(Integer numPerPage) {
  34. this.numPerPage = numPerPage;}
  35. public Integer getPageNumShown() {
  36. return pageNumShown;}
  37. public void setPageNumShown(Integer pageNumShown) {
  38. this.pageNumShown = pageNumShown;}
  39. public Integer getCurrentPage() {
  40. return currentPage;}
  41. public void setCurrentPage(Integer currentPage) {
  42. this.currentPage = currentPage;}
  43. }
//翻页工具类Pager
import java.io.Serializable;
public class Pager implements Serializable{	
	//用来标记是navTab上的分页还是dialog上的分页
	private String targetType;	
	//总条数
	private Integer totalCount;	
	//每页显示多少条
	private Integer numPerPage;	
	// 页标数字多少个
	private Integer pageNumShown;	
	//当前是第几页
	private Integer currentPage;		
	public Pager(){this.numPerPage = 10;}
	
	public Pager(String targetType,Integer totalCount,Integer numPerPage,
                             Integer pageNumShown,Integer currentPage){
		this.targetType = targetType;
		this.totalCount = totalCount;
		this.numPerPage = numPerPage;
		this.pageNumShown = pageNumShown;
		this.currentPage = currentPage;
	}
	
	public String getTargetType() {
		return targetType;}

	public void setTargetType(String targetType) {
		this.targetType = targetType;}

	public Integer getTotalCount() {
		return totalCount;}
	public void setTotalCount(Integer totalCount) {
		this.totalCount = totalCount;}

	public Integer getNumPerPage() {
		return numPerPage;}

	public void setNumPerPage(Integer numPerPage) {
		this.numPerPage = numPerPage;}

	public Integer getPageNumShown() {
		return pageNumShown;}

	public void setPageNumShown(Integer pageNumShown) {
		this.pageNumShown = pageNumShown;}

	public Integer getCurrentPage() {
		return currentPage;}

	public void setCurrentPage(Integer currentPage) {
		this.currentPage = currentPage;}
	
}

翻页工具类SplitPageUtil.java

Java代码 复制代码 收藏代码
  1. public class SplitPageUtil
  2. {
  3. public static String getLimitStr(Pager page){
  4. StringBuffer pagingSelect = new StringBuffer();
  5. //获取起始页行
  6. int startCount = 0;
  7. if(page.getCurrentPage() == 1){
  8. startCount = 0;
  9. }else{
  10. startCount = (page.getCurrentPage()-1)*page.getNumPerPage();
  11. }
  12. //取的数据行数
  13. pagingSelect.append(" LIMIT ");
  14. pagingSelect.append(startCount+","+page.getNumPerPage());
  15. return pagingSelect.toString();
  16. }
  17. }
public class SplitPageUtil
{	  
	  public static String getLimitStr(Pager page){
		  
	   StringBuffer pagingSelect = new StringBuffer();
		    
		  //获取起始页行
		    int startCount = 0;		    
		    if(page.getCurrentPage() == 1){
		    	startCount = 0;
		    }else{
		    	startCount = (page.getCurrentPage()-1)*page.getNumPerPage();
		    }
		    
		    //取的数据行数
		    pagingSelect.append(" LIMIT ");
		    pagingSelect.append(startCount+","+page.getNumPerPage());
		    return pagingSelect.toString();
	  }
} 

业务逻辑 Action

Java代码 复制代码 收藏代码
  1. //注入分页属性
  2. private Pager pager;
  3. private String pageNum;
  4. public String showList()
  5. {
  6. //获取前台参数
  7. String param= getRequest().getParameter("xxx");
  8. //保存前台参数
  9. getRequest().setAttribute("begin", begin);
  10. Map<String, Object> map = new HashMap<String, Object>();
  11. //设置查询条件
  12. map.put("xxx",xxx);
  13. // 分页信息设置
  14. String numPerPage = request.getParameter("numPerPage");
  15. if(pager == null){
  16. pager = new Pager();
  17. }
  18. if(pageNum != null && !"".equals(pageNum)){
  19. pager.setCurrentPage(Integer.valueOf(pageNum));
  20. }else{
  21. pager.setCurrentPage(1);
  22. }
  23. if(numPerPage != null && !"".equals(numPerPage)){
  24. pager.setNumPerPage(Integer.valueOf(numPerPage));
  25. }
  26. String split = SplitPageUtil.getLimitStr(pager);
  27. map.put("split", split);//limit start,end
  28. //获得实体list
  29. //获得count
  30. pager.setTotalCount(count);
  31. return SUCCESS;
  32. }
//注入分页属性
private Pager pager;
private String pageNum;
public String showList()
	{
               //获取前台参数
              String param= getRequest().getParameter("xxx");           
              //保存前台参数 
              getRequest().setAttribute("begin", begin);
		
		Map<String, Object> map = new HashMap<String, Object>();
                //设置查询条件
                map.put("xxx",xxx);          
              // 分页信息设置
             String numPerPage = request.getParameter("numPerPage");
		
		if(pager == null){
			pager = new Pager();
		}
		
		if(pageNum != null && !"".equals(pageNum)){
			pager.setCurrentPage(Integer.valueOf(pageNum)); 
		}else{
			pager.setCurrentPage(1); 
		}
		
		if(numPerPage != null && !"".equals(numPerPage)){
			pager.setNumPerPage(Integer.valueOf(numPerPage)); 
		}
		String split = SplitPageUtil.getLimitStr(pager);
		map.put("split", split);//limit start,end
		//获得实体list
                //获得count
               pager.setTotalCount(count);
		return SUCCESS;
	}
Jsp代码 复制代码 收藏代码
  1. <!--翻页form-->
  2. <form id="pagerForm" οnsubmit="return navTabSearch(this);"
  3. action="xxx.action" method="post">
  4. <input type="hidden" name="pageNum" value="1" />
  5. <input type="hidden" name="numPerPage" value="${pager.numPerPage}" />
  6. <!--自定义参数值-->
  7. </form>
  8. <!--翻页条-->
  9. <div class="panelBar" >
  10. <div class="pages">
  11. <span>显示</span>
  12. <select name="numPerPage" οnchange="navTabPageBreak({numPerPage:this.value})">
  13. <s:iterator value="{10,20,50}" var="s" status="a">
  14. <s:if test="#s==pager.numPerPage">
  15. <option value="${s}" selected="selected">${s}</option>
  16. </s:if>
  17. <s:else>
  18. <option value="${s}">${s}</option>
  19. </s:else>
  20. </s:iterator>
  21. </select>
  22. <span>共${pager.totalCount}条</span>
  23. </div>
  24. <div class="pagination" targetType="navTab"
  25. totalCount="${pager.totalCount}" numPerPage="${pager.numPerPage}"
  26. pageNumShown="10" currentPage="${pager.currentPage}"></div>
  27. </div>
<!--翻页form-->	
 <form id="pagerForm" οnsubmit="return navTabSearch(this);" 
            action="xxx.action" method="post">
	<input type="hidden" name="pageNum" value="1" />
	<input type="hidden" name="numPerPage" value="${pager.numPerPage}" />   
         <!--自定义参数值-->    
</form>
<!--翻页条-->
     <div class="panelBar" >  
		<div class="pages">  
			<span>显示</span>  
			<select name="numPerPage" οnchange="navTabPageBreak({numPerPage:this.value})"> 
				<s:iterator value="{10,20,50}" var="s" status="a">
					<s:if test="#s==pager.numPerPage">
						<option value="${s}" selected="selected">${s}</option>
					</s:if>
					<s:else>
						<option value="${s}">${s}</option>
					</s:else>
				</s:iterator>
			</select>
			
			<span>共${pager.totalCount}条</span>
		</div>
		<div class="pagination" targetType="navTab" 
                        totalCount="${pager.totalCount}" numPerPage="${pager.numPerPage}" 
                        pageNumShown="10" currentPage="${pager.currentPage}"></div>
	</div>

009、结构树

010、打开新navTab

Html代码 复制代码 收藏代码
  1. <a class="btnEdit" title="修改用户信息" target="navTab" rel="editUserInfo" href="xxx.action">修改</a>
<a class="btnEdit"  title="修改用户信息" target="navTab" rel="editUserInfo" href="xxx.action">修改</a> 

011、打开dialog

Html代码 复制代码 收藏代码
  1. <a class="btnEdit" title="修改用户信息" target="dialog"
  2. rel="dialogEditUserInfo" href="xxx.action">修改</a>
<a class="btnEdit"  title="修改用户信息" target="dialog" 
     rel="dialogEditUserInfo" href="xxx.action">修改</a> 

012、弹出提示框

Js代码 复制代码 收藏代码
  1. alertMsg.info("请选择需要完工的订单!");
alertMsg.info("请选择需要完工的订单!");

013、 翻页

Xml代码 复制代码 收藏代码
  1. dwz:dialog翻页
  2. <!-- 分页 -->
  3. <div class="panelBar" >
  4. <div class="pages">
  5. <span>显示</span>
  6. <select name="numPerPage" onchange="dialogPageBreak({numPerPage:this.value})">
  7. <c:forEach begin="10" end="40" step="10" varStatus="s">
  8. <option value="${s.index}" ${pager.numPerPage eq s.index ? 'selected="selected"' : ''}>${s.index}</option>
  9. </c:forEach>
  10. </select>
  11. <span>共${pager.totalCount}条</span>
  12. </div>
  13. <div class="pagination" targetType="dialog" totalCount="${pager.totalCount}" numPerPage="${pager.numPerPage}" pageNumShown="1" currentPage="${pager.currentPage}"></div>
  14. </div>
dwz:dialog翻页
	<!-- 分页 -->
	<div class="panelBar" >  
		<div class="pages">  
			<span>显示</span>  
			<select name="numPerPage" οnchange="dialogPageBreak({numPerPage:this.value})"> 
				<c:forEach begin="10" end="40" step="10" varStatus="s">
					<option value="${s.index}" ${pager.numPerPage eq s.index ? 'selected="selected"' : ''}>${s.index}</option>
				</c:forEach>
			</select>
			
			<span>共${pager.totalCount}条</span>
		</div>
		<div class="pagination" targetType="dialog" totalCount="${pager.totalCount}" numPerPage="${pager.numPerPage}" pageNumShown="1" currentPage="${pager.currentPage}"></div>
	</div>

015、navTab 局部翻页

Xml代码 复制代码 收藏代码
  1. <form rel="pagerForm" onsubmit="return divSearch(this,'cust_Box');" action="<%=basePath%>view/cust/search" method="post">
  2. <!-- 分页 -->
  3. <div class="panelBar" >
  4. <div class="pages">
  5. <span>显示</span>
  6. <select name="numPerPage" onchange="navTabPageBreak({numPerPage:this.value},'cust_Box')">
  7. <c:forEach begin="10" end="40" step="10" varStatus="s">
  8. <option value="${s.index}" ${pager.numPerPage eq s.index ? 'selected="selected"' : ''}>${s.index}</option>
  9. </c:forEach>
  10. </select>
  11. <span>共${pager.totalCount}条</span>
  12. </div>
  13. <div class="pagination" rel="cust_Box" totalCount="${pager.totalCount}" numPerPage="${pager.numPerPage}" pageNumShown="10" currentPage="${pager.currentPage}"></div>
  14. </div>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值