现在的位置: 首页 > 综合 > 正文

jquery struts 验证唯一标识 公用方法

2018年03月22日 ⁄ 综合 ⁄ 共 3173字 ⁄ 字号 评论关闭

步骤一 引入js文件

<script language="javascript1.2" src="<s:url value="/js/jquery.js" includeParams="false"/>"></script>
<script language="javascript1.2" src="<s:url value="/js/dictionary.js" includeParams="false"/>"></script>

步骤二 公用js文件 dictionary.js

/**
 *↓↓↓↓↓↓↓↓↓↓
 *作者:ZhuangZi
 *类名:公用方法初始化
 *功能:公用方法初始化
 *详细:公用方法初始化
 *版本:1.0
 *日期:2013-03-22
 *说明:
 *↑↑↑↑↑↑↑↑↑↑
 */
$(function(){

/*1.失去焦点验证↓↓↓*/
	$("#code").blur(callback);//1.code就是你要验证的唯一标志的控件ID 2.你控件后面必须要有个接收错误信息的控件 
/*2.提交时候验证↓↓↓*/
	$("#submit").click(callback);//你页面的提交按钮ID  

}); 


/**
 *↓↓↓↓↓↓↓↓↓↓
 *作者:ZhuangZi
 *类名:验证唯一标识公用方法
 *功能:唯一验证
 *详细:唯一标识ID和提交按钮ID要和下面保持一致
 *版本:1.0
 *日期:2013-03-22
 *说明:
 *↑↑↑↑↑↑↑↑↑↑
 */
function  callback() {
	var slef=$("#code");
    var code=slef.val();
    var submit=$("#submit");
    var flag=$("#flag").val(); 
    
    if(null==code||""==code){
    	 slef.next().html("下载包标识不能为空!");
    	 submit.attr("disabled",true);
    	 return;
    }else{
         if(!code.match("^\\w+$")){
        	 slef.next().html("标识由数字母或下划线组成!");
			  return ;
		}
         slef.next().html("*");
    } 
    $.ajax({
	 			type:'post',
	 			url:'../dictionary/checkCodeOnly.do',
	 			data:'bean.code='+code+'&bean.flag='+flag,
	 			dataType:'json',
	 			success:function(json){
	 				if(json>0){
	 					slef.next().html("此标识已存在!");
	 					submit.attr("disabled",true);
	 				 	return ;
	 				}else{
	 					slef.next().html("");
	 					if(code != null && code!=""){
	 						submit.attr("disabled",false);
				         }else{
				        	 submit.attr("disabled",true);
				         	 return;
				         }
	 				}
	 			},
	 		    error:function(){      
			       alert('验证信息出错');      
			    }
	 	});
}


步骤三  页面部分
   		<s:hidden id="flag" value="3"/> <!-flag 什么类型的标志->
		<tr>
                   <td width="40%" height="33" class="addtabletd1">下载标识:</td>
                   <td width="60%" height="33" class="addtabletd2"><div align="left">
                   <s:textfield id="code" name="yhaoPortalsDownBean.downFlag" cssClass="textfrom" cssStyle="width:150px;"  			maxlength="200"/>
                  <font id="codeInfo" color="red">*</font> 
                   </div></td>
                 </tr>
 
步骤四  action里的方法 
 /**
     * 
     * @author ZhuangZi
     * @class com.hzdracom.action.YhaoPortalsDictionaryAction
     * @method checkCodeOnly
     * @Directions 验证唯一标识公用方法
     * @date 2013-3-21上午10:09:04 void
     */
    public void checkCodeOnly(){
        String json="";
        try{
            json = String.valueOf(yhaoDictionaryService.checkCodeOnly(bean));
            json=JSON.toJSONString(json);
            System.out.println("json=="+json);
            HttpServletResponse response=ServletActionContext.getResponse();   
             response.setContentType("text/html");  
             response.setCharacterEncoding("utf-8");
             PrintWriter out;   
             out = response.getWriter(); 
             out.println(json);
             out.flush();   
             out.close(); 
        }catch(Exception e){
            e.printStackTrace();
        }
    }  
 
步骤五  dao里的方法
 public int checkCodeOnly(DictionaryBean bean)throws DataAccessException,Exception {
        Object[] sqlParams = new Object[4]; 
        int index = 0;
        String sql="";
        /* 验证页面标志是否唯一*/
        if (bean.getFlag().equals("1")) {
            sql = "select count(1) from YHAO_PORTALS_PAGE where PAGE_FLAG = ? ";
            sqlParams[index]=bean.getCode();
            index++;
        }
        /* 验证类型志标识是否唯一*/
        if (bean.getFlag().equals("2")) {
            sql = "select count(1) from YHAO_PORTALS_DOWNTYPE where DOWNTYPE_FLAG = ? ";
            sqlParams[index]=bean.getCode();
            index++;
        }
        /* 验证下载志标识是否唯一*/
        if (bean.getFlag().equals("3")) {
            sql = "select count(1) from YHAO_PORTALS_DOWN   where DOWN_FLAG = ? ";
            sqlParams[index]=bean.getCode();
            index++;
        }
        if (bean.getFlag().equals("4")) {
            sql = "select count(1) from YHAO_PORTALS_KUAI   where KUAI_FLAG = ? ";
            sqlParams[index]=bean.getCode();
            index++;
        }
        Object[] sqlParamsEnd = new Object[index]; 
        System.arraycopy(sqlParams, 0, sqlParamsEnd, 0, index);
        int count = this.queryForInt(sql,sqlParamsEnd);     
        return count;
}

抱歉!评论已关闭.