<dwr>
<allow>
<create creator="new" javascript="JDate">
<param name="class" value="java.util.Date"/>
</create>
<create creator="new" javascript="TestBean">
<param name="class" value="com.photo.test.TestBean"/>
</create>
<create creator="spring" javascript="userAction"> 這里交給spring進行創建
<param name="beanName" value="userAction"/>
</create>
<convert converter="bean" match="com.photo.dao.domain.User"/>返回類型需要反換的bean
</allow>
</dwr>
第三步 applicationContext.xml
<beans>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close" singleton="true">
....
</bean>
<bean id="userService" class="com.photo.service.UserService">
...
</bean>
<bean id="userAction" class="com.photo.action.UserAction"> 這里是spring創建bean的定義
<property name="userService" ref="userService"/> 將業務層注入
</bean>
第四步 類、網頁
User.java 返回的實體
public class User {
Integer id;
String username;
String password;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
UserAction.java dwr框架調用
public class UserAction {
private UserService userService; //spring依賴注入,實現與持久層通信
public void setUserService(UserService userService) {
this.userService = userService;
}
public Map getUserList(String id){
Map map=new HashMap();
map.put("userList",userService.queryUser(new User())) ;//查詢實體bean User
map.put("id",id);//用于顯示的div id
return map ;
}
}
測試頁面testajax.html
<html>
<head>
<META http-equiv=Content-Type content="text/html; charset=UTF-8">
<title>First Example</title>
<script type='text/javascript' src='/dwr/interface/userAction.js'></script>
<script type='text/javascript' src='/dwr/engine.js'></script>
<script type='text/javascript' src='/dwr/util.js'></script>
<script type="text/javascript">
var showUser = function(data) {
var id = data["id"];//取出頁面顯示的id
var userList = data["userList"];//取出頁面顯示的Userlist
if ($(id).style.display == "none") {
$(id).style.display = "block";
var htmlStr = ""; //alert(id);
for (var property in userList) {
var user = userList[property];
htmlStr += user.id + " " + user.username + " " + user.password + "<br>";
}
$(id).innerHTML = htmlStr;
return;
}
$(id).style.display = "none";
}
</script>
</head>
<body>
這是觸發函數
<a style="cursor:hand" id="" onclick="userAction.getUserList('div_show',showUser);">show Users</a> <br>
這塊區域用于顯示
<div id="div_show" style="display:none"></div>
</body>
</html>
本文的討論也很精彩,瀏覽討論>>
JavaEye推薦