首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事
您的当前位置:首页正文

dwr使用 Java返回值分别是list ,map 与map的value 是list js

来源:画鸵萌宠网


Java js DWR3.0 dwr 返回值(数组,集合,Map,list )

DWR3.0 dwr 返回值(数组,集合,Map)

示例代码如下:

首先导入项目所需要的包,如下:dwr.jar,commons-logging-1.0.4.jar,版本可以调整;

1.web.xml

xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" version=\"2.4\" xsi:schemaLocation=\"http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd\">

dwr-invoker

org.directwebremoting.servlet.DwrServlet

debug

true

1

dwr-invoker

/dwr/*

2.DWRTest.java

package com.micro;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

@SuppressWarnings(\"unchecked\")

public class DWRTest {

/**

* 第一个简单调用

*/

public String getStr() {

return \"第一个dwr示例,调用成功\";

}

/**

* 带传递参数的调用,返回String

*/

public String getInfo(String name, int age, String address) {

return \"我的名字叫\" + name + \现年\" + age + \"岁,\" + \"来自\" + address;

}

/**

* 返回数组Array

*/

public String[] getStrArray() {

return new String[] { \"one\

}

/**

* 返回集合List

*/

public List getList() {

List list = new ArrayList();

list.add(\"welcome\");

list.add(\"to\");

list.add(\"BeiJing\");

return list;

}

/**

* 返回Map类型

*/

public Map getMap() {

Map map = new HashMap();

map.put(\"name\周星星\");

map.put(\"hobby\逃课\");

return map;

}

/**

* 返回二维数组类型

*/

public List getArrayList() {

List list = new ArrayList();

list.add(new String[] { \"1\

list.add(new String[] { \"one\

return list;

}

/**

* Exception处理

*/

public List getListTest(List list) {

try {

list.get(0);

} catch (Exception e) {

throw new NullPointerException(\"数据位空\");

}

return list;

}

}

3.dwr.xml

\"-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN\"

\"http://getahead.org/dwr/dwr20.dtd\">

4.mydwr.js

/**

* 无参数

*/

function invoke1(){

dwr.getStr(

function(value){

alert(value);

}

);

}

/**

* 有参数

*/

function invoke2(){

dwr.getInfo(\"长江七号\火星\

function(value){

alert(value);

}

);

}

/**

* 返回数组

*/

function invoke3(){

dwr.getStrArray(

function(array){

var str=\"\";

for(var i=0;istr += array[i]+\" \";

}

alert(str);

}

);

}

/**

* 返回集合(集合和数组的处理方式一样)

*/

function invoke4(){

dwr.getList(

function(list){

var str=\"\";

for(var i=0;istr += list[i];

}

alert(str);

}

);

}

/**

* 返回Map

*/

function invoke5(){

dwr.getMap(

//有如下两种处理方式

/*1)已知map的key*/

function(map){

alert(\"姓名:\"+map.name+\爱好:\"+map.hobby);

}

/*2).遍历的方式

function(map){

for(var key in map){

alert(key+\":\"+map[key]);

}

}*/

);

}

/**

* 返回数组的集合(二维数组)

*/

function invoke6(){

dwr.getArrayList(

function(arrayList){

var str=\"\";

for(var i=0;ifor(var j=0;jstr += arrayList[i][j];

}

str+=\"\\n\\r\";

}

alert(str);

}

);

}

/**

* 同步设置

*/

function invoke7(){

dwr.engine.setAsync(false);//设置同步,那么后续的方法才能按照顺序执行

invoke1();

invoke2();

}

/**

* 批处理batch(按照先后顺序执行)

*/

function invoke8(){

dwr.engine.beginBatch();

invoke1();

invoke2();

dwr.engine.endBatch();

}

5.index.jsp

<%@ page language=\"java\" pageEncoding=\"UTF-8\"%>








上述,index.jsp页面就对上述各种dwr的返回类型和批处理(batch)做了处理,做了简单的测试,Ok,测试通过,下面再介绍几个页面,

对dwr其他功能的一些简单测试:

6.异常处理:exception.jsp

<%@ page language=\"java\" pageEncoding=\"UTF-8\"%>

7.dwr.util.getValue()调用,dwrfunc.jsp

<%@ page language=\"java\" pageEncoding=\"UTF-8\"%>


onclick=\"alert(${'nameid'}.value)\" />


//如果要是有dwr.util提供的功能,必须引入dwr/util.js文件,dwr3之后,有写函数内写name或id都可以


onclick=\"alert($('nameid').value)\" />




8.对JavaBean的传递和返回

User.java:

package com.micro;

public class User {

private String name;;

private String pass;

通过通过name\"

name/id\"

//get/set方法....

}

UserRs.java:

package com.micro;

public class UserRs {

public User convertUser(User user) {

user.setName(\"admin\");

user.setPass(\"123456\");

return user;

}

}

bean.jsp:

<%@ page language=\"java\" pageEncoding=\"UTF-8\"%>



这些,只是对dwr的简单应用,其中的配置都在dwr.xml中,大家可以举一反三,通常情况下,dwr和spring要结合使用,下面给出一个简单的配置说明:

比如:

其中,creator=\"spring\",表明由spring来创建该对象,

javascript=\"loginServiceDWR\",说明客户端的调用名称叫\"loginServiceDWR\",指明了spring配置文件中,id为\"coreLoginService\"的这么一个bean,,对外公开的方法是\"checkLogin\" ,调用过程同上述其他类型调用相同,不同就是配置而已。上述代码,仅供参考。

注意:引入dwr的js文件的顺序不能错了,如:

先引入dwr自身的,再引入自己的。

因篇幅问题不能全部显示,请点此查看更多更全内容