m.lom599.com_手机版乐白家网址_乐百家手机首页登录

js插件nodeclipse安装图文教程,DWR中各种java方法的

作者: 手机版乐白家网址  发布:2019-07-10

一、前言

  DWR是一个框架,简单的说就是能够在javascript直接调用java方法,而不必去写一大堆的javascript代码。它的实现是基于ajax的,可以实现无刷新效果。

在eclipse插件中,node.js插件中比较知名的是nodeclipse,本文为大家介绍了nodeclipse安装教程,供大家参考,具体内容如下

为了让前端们从回调的地狱中回到天堂, jQuery 也引入了 Promise 的概念。 Promise 是一种令代码异步行为更加优雅的抽象,有了它,我们就可以像写同步代码一样去写异步代码。 jQuery 从1.5版本开始实现了 CommonJS Promise/A 规范这一重量级方案,不过没有严格按照规范进行实现,有一些API上的差异。

  网上有不少DWR的例子,但大都只是某种方法的调用,本文只在使用层面上介绍DWR,并不涉更多的技术与设计,其目的是让初学者能够很快的学会各种java方法在javascript中是如何调用的。

安装nodeclipse

好,让我们来看看他们的特性吧( 本文示例基于jquery 1.8版本以上 )。

  一、dwr配置篇之web.xml

1. 依次点击工具→插件安装→浏览eclipse插件市场→搜索node.js→在搜索结果里找nodeclipse如下图

二、示例

  1、最小配

图片 1

以前写动画时,我们通常是这么干的:

<servlet>
 <servlet-name>dwr-invoker</servlet-name>
 <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
</servlet>
<servlet-mapping>
 <servlet-name>dwr-invoker</servlet-name>
 <url-pattern>/dwr/*</url-pattern>

</servlet-mapping>

2.点击上图中的install开始加载,加载完毕点下一步接受许可协议静待安装完成即可

$('.animateEle').animate({
 opacity:'.5'
}, 4000,function(){
 $('.animateEle2').animate({
  width:'100px'
 },2000,function(){
  // 这样太伤了
  $('.animateEle3').animate({
   height:'0'
  },2000);
 });
});

 2、当我们想看DWR自动生成的测试页(Using debug/test mode)时,可在servlet配置中加上

  1. 安装完毕后重启HBuilder

  2. 新建node项目:依次点击菜单文件→新建→其他如下图

假如这么使用回调的话,那就太伤了。幸好,还有一些现成的 Promise 解决方案来优雅地解决这种问题。

<init-param>
 <param-name>debug</param-name>
 <param-value>true</param-value>
</init-param>

图片 2

我们看看 jQuery 提供的解决办法。

  这个参数DWR默认是false。如果选择true,我们可以通过 class。并且可以测试java代码的每个方法是否运行正常。为了安全考虑,在正式环境下你一定把这个参数设为false。

5.选择要新建的nodejs项目类型新建项目即可

var animate1 = function() {
 return $('.animateEle1').animate({opacity:'.5'},4000).promise();
};
var animate2 = function() {
 return $('.animateEle2').animate({width:'100px'},2000).promise();
};
var animate3 = function(){
 return $('.animateEle3').animate({height:'0'},2000).promise();
};
// so easy,有木有,so clear,有木有
$.when(animate1()).then(animate2).then(animate3);

  3、多个dwr.xml文件的配置

  1. 在js文件里提示node.js

很明显,更改后的代码更易懂易读了。

  可能有几种情况,我们一一列举。一个servlet,多个dwr.xml配置文件;多个servlet,每个servlet对应一个或多个dwr.xml配置文件。

图片 3

但是,上面的代码,有些细节的东西并没有透露,一不小心,就容易出错,得不到我们想要的顺序完成动画的效果。下面让我们来全面理解 jQuery 提供的 promise 和 deferred 对象的方法,看看到底如何使用。

  3.1、一个servlet,多个dwr.xml配置文件

注意:nodeclipse的编辑器和HBuilder的编辑器不同。但node.js和web的js均以.js为扩展名,打开js文件时需分清使用哪个js编辑器打开。
一般而言,由于nodeclipse是后安装的,所以.js文件默认以node的编辑器打开,在此编辑器中是不提示HBuilder的语法助手的。
要更换打开方式,在项目管理器里对js文件点右键-打开方式,选择自己想要的编辑器打开。
还可以在菜单里设置永久文件关联,你可以设置你最常使用的方式打开。推荐设置.js文件默认使用HBuilder的js编辑器打开后,然后在打开node.js的js文件时点右键选择nodeclipse编辑器打开。

三、promise和deffered对象方法

<servlet>
 <servlet-name>dwr-invoker</servlet-name>
 <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
 <init-param>
  <param-name>config-1</param-name>
  <param-value>WEB-INF/dwr1.xml</param-value>
 </init-param>
 <init-param>
  <param-name>config-2</param-name>
  <param-value>WEB-INF/dwr2.xml</param-value>
 </init-param>
</servlet>

安装JSDT

promise 对象其实就是 deferred 对象的特例,因为 promise 对象不能更改异步状态,而 deferred 对象可以。这点在他们的方法设计上,有着明显的体现。

  在这种配置下,param-name的值必须以config开头。param-name可以有>=0个。如果没有param-name,那么将会读取WEB-INF/dwr.xml。如果有大于零个param-name,那么WEB-INF/dwr.xml文件将不会被读取。

  1. 依次点击工具→插件安装→手动安装eclipse插件,点击“可用软件站点”如下图

1.promise对象方法

  3.2、多个servlet,每个servlet对应一个或多个dwr.xml

图片 4

通常,对于DOM,动画,ajax相关方法,我们都可以使用 promise 方法。调用 promise 方法,返回的是 promise 对象。可以链式调用 promise 方法。

<servlet>
 <servlet-name>dwr-invoker</servlet-name>
 <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
</servlet>
<servlet>
 <servlet-name>dwr-invoker1</servlet-name>
 <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
 <init-param>
  <param-name>config-admin</param-name>
  <param-value>WEB-INF/dwr1.xml</param-value>
 </init-param>
 <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>
<servlet-mapping>
 <servlet-name>dwr-invoker1</servlet-name>
 <url-pattern>/dwr1/*</url-pattern>
</servlet-mapping>
  1. 勾选 indigo(注:勾选后,HBuilder启动时会检查indigo已安装的插件是否有升级,从而导致软件启动过慢或者启动后很长时间内比较卡,所以安装完jdt后请将此勾重新去掉)如下图

promise对象常见的方法有三个 : done , fail , then 。

  在这种情况下,我们可以根据J2EE security来控制权限,针对不同url,加不同的角色。

图片 5

其它的方法就不要去记了, jquery 这里的接口方法太多了,在我看来挺啰嗦的,就跟早期的事件方法绑定一样, live , delegate , bind ,最终不是都归为 on 来管了么。

  二、dwr使用篇

3. 点击确定后,点下拉箭头选择indigo的站点如下图,然后等待加载(此过程有点长,如有设置代理会加快加载速度)

代码示例,如下:

  1、调用没有返回值和参数的JAVA方法

图片 6

(1)DOM使用 promise 方法:

  1.1、dwr.xml的配置

  1. 加载完毕后,找到programming languages如下图
var box=$('#box');
box.promise().done(function(ele){
  console.log(ele);//jQuery box
});
<dwr>

<allow>

<create creator="new" javascript="testClass" >

<param name="class" value="com.dwr.TestClass" />

<include method="testMethod1"/>

</create>

</allow>

</dwr>

图片 7

(2)Ajax使用 promise 方法(默认返回一个 promise 对象,所以可以不必显式调用 promise 方法):

  标签中包括可以暴露给javascript访问的东西。

  1. 勾选programming languages下的JavaScript Development Tools如下图
$.post('/',{}).done(function(data){
  console.log('请求成功');
}).fail(function(){
  console.log('请求错误');
});

  标签中指定javascript中可以访问的java类,并定义DWR应当如何获得要进行远程的类的实例。creator="new"属性指定java类实例的生成方式,new意味着DWR应当调用类的默认构造函数来获得实例,其他的还有spring方式,通过与IOC容器Spring进行集成来获得实例等等。javascript=" testClass "属性指定javascript代码访问对象时使用的名称。

图片 8

动画示例已有,就不重复列出了。

  标签指定要公开给javascript的java类名。

6.点击下一步,接受许可协议并安装,安装完毕后重启即可。

本文由m.lom599.com发布于手机版乐白家网址,转载请注明出处:js插件nodeclipse安装图文教程,DWR中各种java方法的

关键词: m.lom599.com