DWR配置文件說明:
<dwr>
<allow>
<!--使用new的建立器,建立UserLogic類型對象,'javascript'屬性說明了頁面包含js名稱-->
<create javascript="UserLogic" creator="new">
<!--說明要建立對象的類型-->
<param name="class" value="org.zx.bean.UserLogic"></param>
<!--說明暴露給頁面中可調用的方法-->
<include method="alterUser"/>
</create>
<!--
調用java方法要傳入一個bean而且返回也是一個bean,因此要用bean轉換器轉換一把
注意:轉換器是雙向的:能夠將js對象轉成Java對象,反之亦然.
match說明了要轉換的bean的類型,converter說明用什麼轉換器
-->
<convert match="org.zx.bean.User" converter="bean">
<!--
設置bean中能夠被轉換的屬性
-->
<param name="include" value="userName,password"></param>
</convert>
</allow>
</dwr>
轉換器的說明:
Object轉換器經過Java的反射來訪問Java對象的屬性,即Object轉換器無須提供setter和getter方法也能夠訪問對應屬性;而Bean轉換器則經過Introspection來訪問Java對象的屬性,因此必需要有setter和getter方法
經常使用的轉換器: Array轉換器,Date轉換器,Map轉換器,List轉換器.
異常轉換器:
<convert match="java.lang.NullPointerException" converter="exception"></convert>
跨域訪問問題:
1.設置引用業務js對象的_path屬性,例如:UserLogic._path="
http://10.164.130.52:8080/DWRBean/dwr"; 2.在web.xml中加入DWR的Servlet的配置參數: <init-param> <param-name>allowScriptTagRemoting</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>allowGetForSafariButMakeForeryEasier</param-name> <param-value>true</param-value> </init-param> 3.設置DWR引擎的方法: DWREngine.setMethod(DWREngine.ScriptTag);