`
jefferson
  • 浏览: 276420 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

js一些技巧wrap

阅读更多

1、JSON Format:

将字符串转换成对象:

例子:

js 代码
  1. var resp="{a:'last',b:'test'}";   
  2.  var func = new Function("return "+resp);   
  3.  var objt = func(  );   
  4.  alert(objt.a+":"+objt.b);  

将字符串转换成objt对象,注意字符串的格式,

另外一个方式:

java 代码
  1. var obj = eval( "(" + resp + ")" );  
当然,如果是数组,“(”和“)”是非强制的,如
js 代码
  1. //resp contains something like "[1,2,3,4]"   
  2. var arrObject = eval(resp);  
分享到:
评论
2 楼 jefferson 2006-11-28  
继续,在ajax中,经常会遇到js直接跟java bean交互的情况
其中一个方法是利用DWR lib,现在简单说一下步骤
1、安装dwr:
下载 dwr.jar并拷贝到lib目录下;
在web.xml 申明 a Java servlet that DWR uses.
例如:
<servlet>
    <servlet-name>dwr-invoker</servlet-name>
    <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
    <init-param>
        <param-name>debug</param-name>
        <param-value>true</param-value>
    </init-param>
</servlet>


<servlet-mapping>
    <servlet-name>dwr-invoker</servlet-name>
    <url-pattern>/dwr/*</url-pattern>
</servlet-mapping>


那么怎样让js使用java bean呢?用一个简单的xml文件定义即可,取名dwr.xml并把它放到WEB-INF中
例如:
dwr>
    <allow>
        <create creator="new" javascript="JsDate">
            <param name="class" value="java.util.Date"/>
        </create>
        <create creator="new" javascript="JsBikeBean">
            <param name="class" value="com.parkerriver.BikeBean"/>
        </create>
    </allow>
</dwr>
继续....
1 楼 jefferson 2006-11-28  
一个支持append和remove等方法的js数组,用起来非常方便,象java的类库一样,只要引入这个js,数组操作方便许多。
用法例子:
var lsnrs=new Array();
this.lsnrs.append(lsnr,true);//第一个参数是加入数组的变量,第二个参数是是否允许重复值
lsnrs.remove(lsnr);

具体见下面的代码

/*
append to end of array, optionally checking for duplicates
*/
Array.prototype.append=function(obj,nodup){
  if (!(nodup && this.contains(obj))){
    this[this.length]=obj;
  }
}

/*
return index of element in the array
*/
Array.prototype.indexOf=function(obj){
  var result=-1;
  for (var i=0;i<this.length;i++){
    if (this[i]==obj){
      result=i;
      break;
    }
  }
  return result;
}

/*
return true if element is in the array
*/
Array.prototype.contains=function(obj){
  return (this.indexOf(obj)>=0);
}

/*
empty the array
*/
Array.prototype.clear=function(){
  this.length=0;
}

/*
insert element at given position in the array, bumping all
subsequent members up one index
*/
Array.prototype.insertAt=function(index,obj){
  this.splice(index,0,obj);
}

/*
remove element at given index
*/
Array.prototype.removeAt=function(index){
  this.splice(index,1);
}

/*
return index of element in the array
*/
Array.prototype.remove=function(obj){
  var index=this.indexOf(obj);
  if (index>=0){
    this.removeAt(index);
  }
}

相关推荐

Global site tag (gtag.js) - Google Analytics