步骤一 引入js文件
<script language="javascript1.2" src=/blog_article/"<s_url/index.html value="/js/jquery.js" includeParams="false"/>"></script> <script language="javascript1.2" src=/blog_article/"<s_url/index.html 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; }作者:zhuangchuanao 发表于2013-3-27 10:41:55 原文链接阅读:11 评论:0 查看评论
1.js中双单引号均可。
<a href=/blog_article/"javascript_alert/index.html('hello')">点点</a>
<a href=/blog_article/"/index.html onclick="alert('hello')">点点</a>
2.js的变量
null变量的值为空,undefine没有指向任何对象
var i=10;
i="aaaa";
i最后为aaaa
i=10;i类似于全局变量
3.js调试
安装DeBugBar来协助调试
4.判断变量初始化
var x;
if(x==null)
{}
if(typeof(x)=='undefined')
{}
if(!x)
{}
推荐用最后一种方法
if(x)//变量北初始化了或变量不为空或变量不为0
5.函数的声明
alert(add(1,2));
function add(i1,i2){ //最好这个大括号不要换行,避免引起bug
return i1+i2;
}
//alert(add(1,2));//alert()在function之前之后均可
匿名函数
var f1=function(i1,i2){return i1+i2;};(注意;的区别意义)
alert(f1(1,2));
//声明一个函数,立刻使用
6.js面向对象基础:
js中没有类的语法,是用函数闭包(closure)模拟出来的
function Person(name,age){//是一个函数,js没有class,这里是用一个函数来模拟class
this.Name=name;//this.Name动态变量
this.Age=age;
this.SayHello=function(){alert(this.Name)};
}
Person p1=new Person('dan',23);
p1.SayHello();
【p1.sex='男';
alert(p1.sex);//也是动态增加属性】
7.Array对像(相当于c#中的ArrayList,Hashtable)
是一个动态数组,无需预先定制大小
var arr=new Array();
arr[0]="zheng";
arr[1]="dan";
arr[2]="dan";
for(var i=0;i<arr.length;i++){
alert(arr[i]);
}
例1:
function getMax(arr){
var max=arr[0];
for(var i=0;i<arr.length;i++){
if(arr[i]>max){
max=arr[i];
return max;
}
}
}
var var1=new Array();
var1[0]=20;
var1[1]=10;
var1[2]=2;
var1[3]=5;
int max=getMax(var1);
alert(max);
例2:
{3,a,8,haha}
i和length-1个交换位置
function myReverse(arr){//传递不是拷贝
for(var i=0;i<arr.length/2;i++){
var temp=arr[i];
arr[i]=arr[arr.length-i];
arr[arr.length-i]=temp;
}
}
var arr=new Array();
arr[0]="zheng";
arr[1]="dan";
arr[2]="dan";
alert(myReverse(arr));
例3:
将数组字符串用|进行分割 arr.join("|")
function myjoin(arr){
var s=arr[0];
if(arr.length<=0)
return;
for(var i=1;i<var.length;i++){
s+="|"+arr[i];
}
return s:
}
var arr=new Array();
arr[0]="zheng";
arr[1]="dan";
arr[2]="dan";
alert(myjoin(myjoin(arr)));
8.js中的Dictionary
Array: 数组,Dictionary , Stack.
var diet=new Array();
dict["人"]="zheng";
dict["口"]="dan";
dict["手"]="dan";
alert(dict["人"]);//弹出结果为"zheng";
["人"为key,"zheng"为value的Dictionary]
foreach(var k in dict{
alert(k);//遍历出来的结果为key(即:人口手);
}
注:数组用法是Dictionary的特例(key为整数)
9.Array的简化声明
var arr=[1,2,3];//数组
var nameAge={"tom":30,"joy":20};//Dictionary
10.用for获取对象所有的成员,对象的成员就是以对象的key的形式出现的
for(var a in document){
alert(a);
}
var p1=new Object();
p1.Name="zheng";
p1.age=23;
p1.SayHello=function(){alert("hello");};
p1.SayHello();
foreach(var a in p1){
alert(e);//得到zheng 23 SayHello;e 就是每一个key
}
11.js无需编译直接运行,开发环境vs中,记事本中
vs2008SP1VS90SP1-KB958502-x86这两个补丁 JQuery "."不出来也不影响运行
12.
<script type="text/javascript"></script>
引用外部js文件,外部文件只会加载一次,降低网站的负载。现实共享。
<script src=/blog_article/"commonJs.js" type"text/javascript"></script>[head标签中]
JavaScript的学习是在开发项目的过程中开始学习的,在这样一个背景下,我给自己定了一个学习目标。那就是熟悉JavaScript的基本语法,在项目中基本会使用JavaScript,然后遇到问题时再专攻这一点。于是JavaScript的视频就匆匆过了一遍,并没有深入学习。不得不承认,JavaScript是一门比较好上手的语言,尤其是对有其他语言基础的人。在应用JavaScript的过程中,你会逐渐认识到它的强大之处,给我这样一种感觉:JavaScript无所不能,只要你能想到,它就能做到。
由于学习JavaScript,我采取的方法是用到什么就学什么。这样就导致对JavaScript没有一个整体认识,总感觉JavaScript的世界很复杂、很乱,所以呢,在这里对JavaScript做了一个总结。
JavaScript是一种面向浏览器的网页脚本编程语言。有以下几个特性:
1、在客户端执行。完全在用户的计算机上运行,无须经过服务器。
2、面向对象。具有内置对象,也可以直接操作浏览器对象。
3、动态变化。可以对用户的输入作出反应,也可以直接对用户输出。
4、简单易用。JavaScript脚本语言虽然简单,但初学者也能快速掌握。
5、跨平台性。JavaScript依赖于浏览器本身,与操作环境无关,只要安装在该计算机上的浏览器支持JavaScript即可。
下图是对JavaScript的一个总结图。