DWR框架简单应用
各种Dwr简介不需要多说,知道是实现局部刷新就差不多了,至于实现原理,慢慢参透吧,一下说明怎么使用DWR
首先建一个web工程,然后添加如下jar包:
aaarticlea/png;base64,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" alt="" />
清单1、开始编写调用的代码(请求的数据),Us类只是一个存储数据的对象
package com.dwr; import java.util.ArrayList;
import java.util.List; /**
* 供界面js调用的方法,只写了几个
* @author
*
*/
public class TestMethod {
/**
* 字符串类型
* @return
*/
public String sayHi() {
return "hello DWR!";
}
/**
* 字符串类型
* @param yourName 接收的参数
* @return
*/
public String sayHello(String yourName) {
return "hello DWR!" + yourName;
} /**
* object类型
* @return
*/
public Us showObj() {
Us us = new Us();
us.setUsName("hux");
us.setUsPwd("123");
return us;
}
/**
* list 类型
* @return
*/
public List showList() {
List list = new ArrayList();
Us us = new Us();
us.setUsName("hux");
us.setUsPwd("123");
Us pw = new Us();
pw.setUsName("hux");
pw.setUsPwd("123");
list.add(us);
list.add(pw);
return list;
}
}
清单2、配置web.xml文件,(org.directwebremoting.servlet.DwrServlet)jar包里的
<servlet-name>dwr</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet> <servlet-mapping>
<servlet-name>dwr</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
清单3、配置dwr.xml 配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd">
<dwr>
<allow>
<create creator="new" javascript="dwrObj" scope="session"><!-- 注意: dwrObj是js中方法调用对象,命名不定-->
<param name="class" value="com.dwr.TestMethod" /><!-- 配置的dwr方法 -->
</create>
<convert converter="bean" match="com.dwr.Us"/><!-- 配置数据存储对象 -->
</allow>
</dwr>
配置好以上内容就可以测试dwr了,把项目运行起来,在项目url名称 后面加上web.xml配置的dwr地址访问(http://localhost:8080/Test/dwr)
点击dwrObj对象就会看到我们在TestMethod 编写的方法,可以在这里点击Execute测试是否正确,如下:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAw0AAAI6CAIAAADqizMWAAAgAElEQVR4nOy9eZgU133vXSTXSl7n8Zubm/2NLfAmx0SSNfJINnZEJBlrASGJUYQdWeN7Y9kTo8dyFF2byBYQWzGKjMKVrVwjsY0AAYIRjIBZGHYEzL7BzDCgYUcwwAzLwLBpc79/VHfN6bPV79TW1d3fz9MPdFWfOud3TlWd+vQ51TVWAgAAAAAAyLAyHQAAAAAAQEyBJwEAAAAAyIEnAQAAAADIgScBAAAAAMiBJwEAAAAAyIEnAQAAAADIgScBAAAAAMiBJwEAAAAAyIEnAQAAAADIgScBAAAAAMiBJwHgjZ6ZhZZlFc7syXQgAPij6jHLsqzHqjIdBwCxBJ4EgAcgSSCngCoBoCJmntQzszDsczWCInKSmLRbPMKwLypZb0nxaEzAk5luMEcOagACR+JJ9ukiO2WGPgn+m4f9/TyMnCUlhFNEWvPIyM4rUujtxsA1YdoB6OcIGdo2iBpk/wUlyn3qgv6syVwj52M3mP0HNgBhIB9PSp1L6WdMABebnpmFmvMwWUCYHXeyjwutiFQbpRXgdKzZKUqJRPjtNlREqgzpMej5CAlwF0TQFNEQi4qwezTt5ImgM3DKV/RI+dcNJouGKQHAovektBMpiK86VY/pzsJc9aREZL1+aIR+TU0WkHZsiOsy34w5dCWJgyel3ebFnTz6ziIgdIXkYzcYh4MCgJjh4knsucwMN3s9i1zGdXPYk1JFZ2v/E3K7cWNJKYTWzLgn5ZAmxeKSmHZS8Ls7gtt0tD1SXnaDcTgqAIgXLp7EnMzsrLy3kyiVQ0w7iEDQeFIEhDfBF267KTRJceXMYCeeS5oUvyti5CePS4+Un91g7A4LADKN2pMKC9POVntKvVDekfH3YqZ/zt45yCO/+4TbQtqj8GW69nWWZRXOnKnoBKR3k3roKiRdvfpmBH0V0j8tnNkjVIbPMoCvukJFJO2WdifoTNWCVTizh1gF+X0gaVVKv2mJdoTI2thnuxCuIbpb0ZWpVCMWzOdVbI29VSPKfeonPoPmVaR1OZ2JPVL+dYNM0tz4LgBAEKg9KdVB2ueSPQQ+U9KR8TeRKMcG3M9A9mSW37LAJUzlpPiKxt9foLgDUwjL9RufGkm88psRiFVwPil87LFUlG5JVR2gcSXU7ZbWZOmPEpI9h8WlCu6HDH84SFa57KxAviW7HcDcnpHdcyWJWLI/03aks1A4s8dzPaLep15w8yRaV2NyOut3aH51g3xVMKAEQBKNJ1Wx0+hVj7FfcIZOIdlUu7K7I3cQkg6IFw/F6It4z6/0p2eSGzNlXZB5V6H60sjVmVgFdnVkXRep3dIajb2MShvOpQoePIltJNJ0TQSeJO4/WcVIuz4tWonAmMpI9PvUC/odSexqjE5ngiflSzdI/BCAPETnScz53DOz0Cqc2aO4XUR1ZVf86Mutg5Ce+XxvrspceVOoPDdCVEaIpaZ/MzeqQlrIUfVbxHZjqpW2hfRudZcqGHuS4gszYb4mPE9SX7Jdr1ri+rTrbtqV39PRmoF96gXdfiR3NUYNRPGkPOkGiR8CkIfoPCl9ojzVT7CnkPQ2gCFC6SAUoy7CB/J00j6AHQTy2TuorpZpYVCrwK6M7HYBarsNhcUO94uVTU+rK9KzJ6kbVFcBL2hyIcSgS5X+QcCelIF96gWdJxl0NQanM8WT8qYbTC8engRACq0nOX3hzMfs00bRQVA7yyA6CPVZnP6JIp37hY7WwbpUUbs5tQppcUXlSfR2S83M9MxM3e2avElFeYuV20SDJAGnUJn2JPURTLu6UHd9sJ6UiX3qBYIn0csjnc4kT8qvbhDDSQDw6D2J6Wweq0rEooNQl5m+tYcOIi0bj12Fyb0yblVISx0/T0oFVlhopX6NZV9axbq7VcHtVg7iDEf4nqQ+hInfwom7PlOeFOA+9UCgnsTlKc+W5kl51Q16bWgAchcXT3J6mbSbSAnfapTZ+u4gqBPz1AFn3ayC+WWV1CJe7k+K3bwbd3AMXUqUo0KaKihaRFid4fuTlBHogkgbjsnM/UkZ2afmEO5Pct2BZqcz0ZPyoBt0/wSAvMXFk7jTTHXdkn/Bd/8OyiUjdRD6e4zEW2ZldwZJksmv0OF4ErkKTFrSBcm5sPnp5ojtluAqK09CroKsPxfXSZvXZAwvgP7f5Zor26lsrUi7nuxJzh7XHx8Z2afE2BRlqz506WoMT2dtj5RP3aAiNACA9jmT7AxA+u0hklsaxK/M7l8Kqx7jTkliByGWqein5De3pOC+cbn3QRTIXy2JVUiYdF3MLRm+fIDWbgnu4HAdy3epAtcCWiUSlMKbmXpEVR0nuvSBBsUsoW7XyzwpbSwj7exUHDjSQqPbp/TYUridPKSuxux01vZIedUN6tsJgHxG4knp/VvPzML0mxc15xelX1TdXsllb+fA5SvvD7VlpmebfBiKtAfiMf9OZdAKlA0Ucel6sUDGkxKJBKndUgWm99LafeRaBW4DocDk6EyV5ljU5xzQJUAtCcSDQJeM/Yx7HHZhIbeJyZhN1PvUJDYxV8Wecm1f49NZ0SPlWzeIsSQAVMjHkwDILbzOo7pkiIsKyBHSRswAAAzwJJBzCPNf8ptZgykGqgSyHkgSABrgSSAH4WdHcA0AAADgCXgSAAAAAIAceBIAAAAAgBx4EgAAAACAHHgSAAAAAIAceBIAAAAAgBx4EgAAAACAHHgSAAAAAIAceBIAAAAAgBx4EgAAAACAHHgSAAAAAIAceBIAAAAAgBx4EgAAAACAHHgSAAAAAIAceBIAAAAAgBx4EgAAAACAHHgSAAAAAIAceBIAAAAAgBx4EgAAAACAHHgSAAAAAIAceBIAAAAAgBx4EgAAAACAHHgSAAAAAIAceBIAAAAAgBx4EgAAAACAHHgSAAAAAIAciSdZMqKPzDP6gEOtTgabK+t2k5T41yL+EXpDWi/V8RyHbsFzAGFETuwqI2jPjO8XImHHGUj+fvZLtuwIQEHuSao32UKmPMm19FALzbrdJBL/WsQ/Qm9o6mW6PjI8BxBs5GxulJxDbc9sOT6zwpOcrCLeEMQNl28/kcXhB+n3s4xEEofSQdzI9uMh2z0p7P7BNLfYtmfMyVT7wJMAPCl4sqXdQDRk+/EQ2+s6PCmvyDdPypahwXzA2JMsBpes09NIF8Ws6PnrM2E/FdPTs6KULq7X50+sgmlTS3PWxKnPRLXIrdEX5789VeXS4xTXqz4SF/VlSStOLNS1+q714vJ0LYKNU19NcUOj9Zpy9U1EWa//SJOSayvTeCj5i7tDFb8qN30R7BppLTQ1otTXQ5WlH4mLmo9UcQYSJL0d9Oul+UgXE4pd79pomoBBxjHzJHFHuuSuSG+63qiUhOxQdk1vWm4g+We2HVxz8BMnW7TR2U5p2GDjNI1f386ue19DqMeJuBVxc9P10pTSdg5wf+lL9xmPh/zpi6b5eNiPlPqadnqazTN+HlHyJ8ZPicQ1n2D7eRA9sfAkNgGHPn9vcYZxBlI+Fevl/wqk38rDeUjpQ02vZ0aoejfitU2a3kM7G33k7bqoz9xn+1NyJm7u/yjVxC893zXrPQRA31+Z6n+M8vGwHynHj1HnQFxv+lGA55FR/sQTxzQf0+MZxJbMeFLC7eJnRCDnm1HnaHpeJYS6u5Zr2llLy/XQ0VD6UEoH7bkLIOZpGoPp8Zap/j2o9lflLP7rurnpeteUrtcJ4npiAJ6vc0SCOh6I+XjYj5R+WBqSNMisOI+M8jftz03PR30jmO4CED0Z8yTp+sz2U0El8NxuPi9I/veXk4bYgERHMYLiB6ZxqoqIYf8eVPvrc4YnGcUTVP76UqL3JJ/X5jifR0b5Z9CT9AWBmBCdJ7HKHEi/7znOAH3CZ/6ZbQdNPh6u09xWYXuStAifPkeMX1+ua1SuBNL+qpw9xBmZJxntL0p9VXHGrf/xEydlP+rb00EaFT0f1/dGcQZyHunXEGN2jdP1+PR2vNGPcBA2uoNYup+MzisuH+6NNB/T/NmtpJGLAYj5a+IhVs01H0sgwHik6fWL+tz0RagaQawjvTFVpWsydI3TtZ3FKugTayLR19eoKVzrpQretRRV61HqRVmvKlTavMR6ifnT6ytu4jkefdWI8XtoT1V61XsxvWZRLMtzfTUF6Sulil8TgD5IVf76Rf0aTRXEqKTrXesr1otYWRAB2A2AJ/qT01L0+9lCsDFnYwuAbES89mcqkpgEAIAUHJcgif6bXDRFZ2NHGVTk2dsCIHuJz6kXkzAAEMFBCQAAAAAgB54EAAAAACAHngQAAAAAIAeeBAAAAAAgB54EAAAAACAHngQAAAAAIAeeBAAAAAAgB54EAAAAACAHngQAAAAAIAeeBAAAAAAgB54EAAAAACAHngQAAAAAIAeeBAAAAAAgB54EAAAAACAHngQAAAAAIAeeBAAAAAAgB54EAAAAACAHngQAAAAAIAeeBAAAAAAgB54EAAAAACAHngQAAAAAIAeeBAAAAAAgB54EAAAAACAHnhQwlmVZVtStGn2JkZGR9qSXbpW0RBRJCAVFFnxk5EaNAjzmc7hnACAygjyLgj0ns/cMjzhyaXFxaz0/8WS2LprS2auyVdLCvgKOQZahz4LEbaN0vvi3Erehaz70UigpxaPO9SzwsIkpnjOMW3cEgBGBHb6ZOhPo5UYToaoUn6XrrtY51AdF0NcbQR9Mst+z/xqXpd5K9VGwnhT2htzm0XiSt4KkQUbnkeZ9SKy+LMUqGAD8k/Wju3HzpJBKD0m/4kYWVUc1ehFshvo8M+I6QXlSsATYSlz68MTOA3QFiWGfnEVnNwAsARy4qrPUQbPSeS+uVG0oJnO/iUS7uZhAmqe+dE0ApnnqYxMzVxVHCV7/kbQKmpVcnqoMpTXSV5MIMSQxpSXgXhbNk6RzTNwMnX7OTpMnu7mTUrpede1XBSndVhMnJQejzcVqalIG20oaT6IHL4VeTV0mwrlJSZaIx1ns+dQGIIP4PWpdTwb2FFIloJxRms09h0qP01uJfkqn9IaaSFybK4yViQj3pr4IfUgB7E3a2I901kY1lUMXL1We4mWeqBSq4InTT5oaEYVGVSPKStM8XVtJ40nEEvUYHQDyHBS9hJhAuiazZzFUCWQd4Y4nuSajrw/Dk5yVFKvQf0/yULoqT2kRfjyJK05MIDa1a0gZ35uqUihN57+nNlINzViLa57+DcBP8K7vnTWqahqVrjIzDwX5aaUoPSmhOBh0m3v9BhWHsxiSBLKRYI5aynmV8SurT08SNzSSJ/rVOpCLvar1xNpRUqq2dS3XNR5itka4Xgx87k3NVU1/xTVN7OoZHjzJW/De8qR7kugiHrZVrYy5JxltTrEies8Q8VkMSQJZSmAHrpFqeDipQvIkYkH+r+VE7VBpih9P0r/3tuMyvjf1Rejz9FmiT9Xw6R/6zb25Fz141zw9jCfRW8l1JTEkeit5bgRiO7s2V9qGtHEaV5fKyFkMSQLZS5DHLnv6Sb+XiyulKaXf7DXf9V0HAPQpVUG6Bm+Ka57soiqxNGZpWdKCxKaWBilGQmkQVRHielWe0ooTcS1dHzy1FO31T7xASieJpCmdj+gFien1BWkGfrjE4oZ6DyBWU1V3VY1cCwqjlVzrSDEzuidp8kzbinbKq5Jl9iz2dkYDEBOy5vAN6UyTnuFhFBQsxE4ztsQ8PA2u17M4FxRZ8JERnxrRIwk15ijPrOw9iwEwIjsOdM/f/k3zDKOgKMmK+LMiSAAoEEeDjFJmBTiLQf6AoxwAA7jZHLzwCvaV6QMcAMADTwIAAAAAkANPAgAAAACQA08CAAAAAJADTwqYjNzbmMN3U2b2XlHX0iO7oSSMgnLjbpgAj5AcPo8AAJ4J5flJMcwtSiKOXFpc3FrPTzyZrYumdEvxIJzA/UOaoc+Cogkymmw9PN0jggeCeM4wbicvAHlOYCdkps5ternRRKgqxWfpuqt1DvWqcXucFX0wyVL8TQyDsshPyqZs4qe47MLDGRerrxaxCgYAIJL149Vx86SQSg9Jv+JGFlVHNcYTbIb6PD0XlzOSpIeuIDHswbLoXAAgtwngVFT1O+KDyMSVzntxpWpDMZn7TSTazcUE0jz1pWsCMM1TH5uYuao4SvD6j6RV0Kzk8lRlKK2RvppEiCGJKS0B97LIf7xMnCDjZuj0c3aaPNnNnZTS9WIA+jj120oTi7OQ+s0TblCazj0T4UimJEvE45j3fCIAAALE73noenqznYIqAaWP0GzuOVR6nN5K9FM6pX/XROLaXGGsTES4N/VF6EMKYG/Sxn7EiTnVSlWeem3i8hRn/ejiJc1TjFlaC+ka/ebSHKQYNZc8B8U5JSaQrsnsMQ9VAiDjhDue5JqMvj4MT3JWUqxC/83PQ+mqPKVF+PEkrjgxgdjUriFlfG+qSqE0nf9rD92TpOMfRH2RrjT1JGKe0lEiVUGugWk2Nx4QcvvztC6be/2+EYdjHpIEQBwI5jyk9BQZv7L69CRxQyN5ol+tA7nYq1pPrB0lpWpb13Jd4yFma4Tr5c3n3tRcp12nt4wSu1qOB08impMmH5WpmI6lEaEHLElmOMyjTxzxMQ9JAiAmBHYqGqmGh24iJE8iFuT/Wk7UDpWm+PEk/XtvOy7je1NfhD5PnyV68yQP826m+qIPwDRPU9HxXHf9EJHneTfiOI2rS2XkmIckARAfgjwb2Q5F+r1cXClNKf1mr/mu7zoAoE+pCtI1eFNc82QXVYmlMUvLkhYkNrU0SDESSoOoihDXq/KUVpyIa+n64KmlaK/o4iVfNemmmnojGolqmkxfED146aIqeDEe1eaaBtEEpqmRcivaCaJKltlj3tvxDwAIiaw5IUPqO6R9VhgFBQvxMhBbYh6eBg8zR/EpyH+eRiM6gRBqKVEeh9l7zAOQ52THqev5279pnmEUFCVZEX9WBAlUGN2FHfNSIgPHPADZC85bAAzg5pjwyuwr04cDACD3gScBAAAAAMiBJwEAAAAAyIEnAQAAAADIgScBAAAAAMiBJwEAAAAAyIEnAQAAAADIgScBAAAAAMiBJwEAAAAAyIEnAQAAAADIgScBAAAAAMiBJwEAAAAAyIEnAQAAAADIgScBAAAAAMiBJwEAAAAAyIEnAQAAAADIgScBAAAAAMiBJwEAAAAAyIEnAQAAAADIgScBAAAAAMiBJwEAAAAAyIEnAQAAAADIgScBAAAAAMiBJwEAAAAAyJF7kpVOuBEoiuDWm0YSQeQZLzE+pYdHqPWK4AiX5q8pN1v2Y7bECQAAPtH1dJH1g6qCssuTEhG2mLTonLxuRWPqoWZOObwp6WNFtsQJAAA+yRpP8rB52EjHCTISSW4Qn/0YTT5hp48b2R4/ACA/gSd5B54ULPHZj9HkA09y1md71QAAOYyBJzndmdFdHRYD8SNxPSUHcZJOM68hZm5UL025qnz0ldJUwSgeeqiUqrFr9KV4yIcSJLFelDg1jWBUI+mih/il5WoiVNVXtaivhb6JxEVKWVxiYqHS9AAAEB/MxpPEy4BL7kJ36fm9pjij65B00bRemvyl+ejbQUxGrDglHqN8gmofSj6u0WrWm8apbwf6RdpbPuGtD2r/6t/TD0tv+xcAAOKMsSfpE6jy4b5Kaq5zHooL5PpKydBP/hz6sjTp/cRDhL6/iJEEvn895y9tz+z1pIS67oGUaPqRt/YBAIA4E7onSZ0gDz2Jngk9AGJWnmUrlzxJ46b540kJxfEATwIAABXhepLp9QyeZBSA6VYh+U1Q+YS3H4O6fsfWk3weMPAkAABQkRlPSqT30ZT1muKyzpNcv8qHHQ8xh1A9yTVaesqMeFIYx6fn9d6OENXucD0+VR953r9QKABAbNH1XA7cSumisgAB7qOE0FGK61U5iJto4hc/8lMvsVxittI1YnH6+moSE9uBmJVrc1HyoVeKHr9rYKpFdr2f9hGjpcdvul6Vv7OSErlr/voWo+Tj2piacolVAACAiEH3BKIDl8MwiE+rxicSAAAICvRrICL0Iw3AlLi1Z9ziAQCAQECnBgAAAAAgB54EAAAAACAHngQAAAAAIAeeBAAAAAAgB54EAAAAACAHngQAAAAAIAeeBAAAAAAgB54EAAAAACAHngQAAAAAIAeeBAAAAAAgB54EAAAAACAHngQAAAAAIAeeBAAAAAAgB54EAAAAACAHngQAAAAAIAeeBAAAAAAgB54EAAAAACAHngQAAAAAIAeeBAAAAAAgB54EAAAAACAHngQAAAAAIAeeBAAAAAAgB54EAAAAACAHnhQwlmVZVtStGn2JkZGR9qSXbpW0RBRJCAVFFrwHAtzvOXx2AAAiIMgeJNj+KHt7t4gjlxYXt9bzE09m66IpnfUMq6SFfQUcgyxDnwUFuK2HWlMSiy3veiR42MQUzxnG7ZQEABAJ7NTNVC9ALzeaCFWl+Cxdd7XOof43guucEfTBJPs9+69xWeqtVB+F7UmBq49BbubnUay+MMQqGACAH7J+ZDtunhRS6SHpV9zIouqoxniCzVCfp+fiiBtm0JN0BZEVJIb9UhYd4QAAmwBOWlUP5aBZ6bwXV6o2FJO530Si3VxMIM1TX7omANM89bGJmauKowSv/0haBc1KLk9VhtIa6atJhBiSmNIScC+L5knSOSluhk4/Z6fJk93cSSldLwbA5ca9V4WkmWKju5drg7hnIhyflGSJeBzJng9vAEBG8HvGunYEbPehSkDpTTSbew6VHqe3Ev2UTrkSaCJxba4wViYi3Jv6IvQhBbA3aWM/4sScaqUqT702cXmKs3508aKHRA9Vg2mJkhwUZ4qYQLoms0cyVAmALCLc8STXZPT1YXiSs5JiFfrviB5KV+UpLcKPJ3HFiQnEpnYNKeN7U1UKpen8X6XonqQZlaHk6d+TPOep2pyerQZpQxls7vVbRByOZEgSANlFMGcspU/J+JXVpyeJGxrJE/1qHcjFXtV6Yu0oKVXbupbrGg8xWyNcL4Q+9yb9hiH9td81sauOePAkep6a+AP3JKMcKFZEPzsiPpIhSQBkHYGdtEaq4aFDCcmTiAX5v5YTtUOlKX48Sf/e247L+N7UF6HP02eJ3jzJw7ybB6cJ0L1UiSmZ2IvEhjKadyOO07i6VEaOZEgSANlIkOct2/VIv5eLK6Uppd/sNd/1XQcA9ClVQboGb4prnuyiKrE0ZmlZ0oLEppYGKUZCaRBVEeJ6VZ7SihNxLV0fPLUU7bVfc4eyuEYqMVKdUhUkptcXZJonF5KmaNVKTXGUBuG3oh32qmSZPZK9HdUAgIyTNaduSL2MtHcLo6BgIV4wYkvMw9NgNLsUt4IiC96VUCOJ8ujK3iMZAEAkO05yz9/+TfMMo6AoyYr4syJIEAbEcaNsAUcyAPkAznAADODmmPAK45XpnQwAAEPAkwAAAAAA5MCTAAAAAADkwJMAAAAAAOTAkwAAAAAA5MCTAAAAAADkwJMAAAAAAOTAkwAAAAAA5MCTAAAAAADkwJMAAAAAAOTAkwAAAAAA5MCTAAAAAADkwJMAAAAAAOTAkwAAAAAA5MCTAAAAAADkwJMAAAAAAOTAkwAAAAAA5MCTAAAAAADkwJMAAAAAAOTAkwAAAAAA5MCTAAAAAADkwJMAAAAAAOTAkwAAAAAA5MCTAAAAAADkSDzJEvCeuzoHnzmbBhBxWWxxzqLzL/smygi9Ec/Y6FHFMH7VHg/1SAgq5xi2JwsxPH0yP2dlzNvHJ4HULoY9XtzikZKRdotby0R5NR9aVCXSLHoo0jWOMOBkJdSyNCVS3kgX40MMAzM6fmIYf0IdVXjRBpVzPNvTwacn+e83Yt4+fgiw345VK8XNBjREH2fcWiaPPCkCMn48Wcwwkv6NdDE+xDYwKWK08YwfnhQSEfdX2XK8xQ20kjeiP4szu6ficH7Bk0IsEZ6UEeJwXlGAJ4UEPCkrQCt5A54UI09iUX3ErmHfiLmp8tcXTQzJNX42PPG9vl6m5YqLbIbiG3rmrnES60XPnwtYmo8qHnErTZCaSKSlq3JQtadRuap6uabUL0qjVWVIiUfTPppQ2Q31+asqyEYo/YjLSvXetV5iNfU11VTBtUbS4On5SNtHmomqvqpFStHihtKQiDlrquZaIzGGhOJ4SzBHkb5ewbaDPhNxJT0TfTz+82E/opcrLdpKhxJMQrEfpfl4qLImH+l6Veb0dmDf6JsrofEk7o1+kQtLlZvrek3+lAwp5UpDdS1XUztNidxu4P6lZ6vP30O9TPOXHqaq9PrWk+ajD8a0OtLjil4uvSDX9MTTR5+bakMPR5HqPNUfV+J7SgXFjzycd+J619jEzVXQ2980H6PzRbOeWGJk/YBqc1WJquONuCbwdjDKLaHej6bxBNv/GLWbph3ox7mffoNSiof6Gp1f0iqY9Wb6uKWdHYu3eqrWE/MnIt2KslLTgvpIpPmo/qVnK5bCtY8qB1V7EuNXrdfvd3rrERvTdHPpcUUvl01GbDdVkPr29xm/h6PI9TwlnndcANIMKZU1Oq48rNdDb3/TfDRxqo4HD11B9P2A6lPVoeh6vAUbp2s7GOVGCViVj/488pyPJk7X40qaPyUMMSWxXpQ9SMyHHg+9HVQHrXQT956C0uim9VSt1+9U4smjz42yUtOC+tL1+y8hHDoeTmyjzb11Fq4Hmf7AUv2ryUcViSof/eb088q1dA/p6Rv6jN+1fVxzdj2WNBGqSlSdpN7OO5/r9dDb3zQfYpymaVRFRNYPqHJT9ZP6/UI8SPRBqha9VZmePyUTP8cnpfulZOjtI31KYr2kB49R/qo4/Zxf3Bri9cW9p6AcfKb11Ifuip9k3vprYi9G2X+mbUvJX7W5h85CurnReaI5/oz6C6PjWL/etJ/y3K95qCBlvWk7E0s03b/0DV2LDiQeP9chTTKfV2tNPK7t4/+6Emo/oMpN1U/6vCGcPBAAACAASURBVP75CcxDlcPrN4Ltf4zazdtHxHhc4/R/PEvj9Hx+iWuI1xcz7zH1AH30nuvvpx/01l9T9kRC3Q6U966Z69Mb1cs0/6COBz/xhHFcUcqlpHeSGZ3wwZ4XlCDZCIn7Rfpev62Dpgr6crn8Kf0Am8ZP/6BZT88ng9eVUPsB1eaqftL0/A27PzTKLcB4Imt/cVFTFr2J/PQbxH6JvqhJ4Oe80Jci35g7Y7lmUiWQdo6u6TWbUNJLkabXZ6JJz7aApnR9pcT3qmoaVU3EtV70zKVxqhalddTUlxKVJk99vejxE5uC2Hr6fFzj15RIb2fXCKXV0dRX04DiR6riVM3oWl9VDqo4VRXUVNZ1vSuawFSL0qYwLVGDJr1p5vr17CL7RlOoJlSjOKXp9e1Ar69+kZiVa7b0fPRV89YOxCay1KeVtAgxZkoRmlA1DaiptbhGbDTVe24TgzNTX8lA8gEge8FZoOmGgCu511y5VyOQnwRwHOuNFYDcBsc/i+tXWMCRq82Vq/UCeQgOYgAAAAAAOfAkAAAAAAA58CQAAAAAADnwJAAAAAAAOfAkAAAAAAA5Lk98SXuEQKA/XsBPIQIkDj8tiTgAzVMxYkXMwwuc/KlvjtXUtTp+6psVp2qo5HPdcwC5J7m+CaBgHDdBk/H2jD6AjFfZlXw7zvOqvjlWU9fqeKsvu1WOtRidvDovcg/q05BVa+JMdkXrn6Dq6+dbYyABxLnECIhbpeIWT9jQ6xvPlgnv/PXvSflAvtU3H4An5Q7wpNwgbpWKWzxhA08KNud4tlJ45Ft98wEvniSdaTaagdbkIH7KrRfTi4tWOqo4jUIVM5dWxChz1/w1i2L+qvbULGpWatrNtQpG9XUtWp+ba/7e2pPSFOKivix2ZULYI94aQbVJIPnoV3qrL7HK9KawZCQUB7yH+uqLFnMWs3LNR7oJPX59pVzjoYdqWl9LQJNerLtrffWhqjIxzV8ap5inWF9VDvo4NUGCTGHsSdzul6akH8r0/KVl6cuV5m8Upya9NKSg8jddryou7Hw076V4i8dDhsT8PcSjeU+vjiaxdI2KoNrT9HhI+KivKk76ea2Jn3sT1PGvKddDv6TKih5nBs/fsPvhUPtVVZ6m7ePt+DHqn432CwgbY0+SLloCpLJ9X9d9np9EpPXSXDzo7aBJr6qjKh5VSv0iPR9pnMQOwjV+zx2B614QU1LaUxWPJk6jj1z3iyorYqGmGeoTqBqZnl4Vj+qEMj0exAwtE0/SR0tPyeavOq9N8zFar4o/qPPXW32Njn/XM5rYnvp4pGtc24cSP30rzYam+wWETWCe5KXsyD0poZYDSpCU85mSJyU9pY5B9Uem+dA31G/CvTfaL5RQpe/pbSLGQ9lfpkG6LuqhxEncL6r2Nz3UTY9DVaH040HcuZbWk/T509uf2C8FlQ/lGJaWHtT5662+nvslemBG6cWdTmwf1XrPuXnbvyB68s6T/CSI8nx27ehdFzUJ4tbPEoszzVDcXz47OCM50Hzk87h1LchnhpTNA6kvMTD6cUX3JEp4poHBkyhb6cuFJ9EzBJERiid57v4o+Wvee/YGYoSm57NPb/B/fVW1T4DlsnkG1c+G4UnSbD3EQ3mvL8V1w8Cv04Efh/o8TY8fB6MApAm4N0Ed/5pyXfsoYoaqc8q1LEpxAZ6/HurrLR6jDD3kT4zfaL/ow/Pf/1D2EQgDXWcndl7ceSJdJHYKYnrNoiZzMZn4qb5co1BFNOlN8xc/osSjr5eqffQV0eSjqrJ0K//xu+ZGyV+V2Fs83HrXZpRGoq8ssR2IRfvJR4zHtL6aRXFzYjzSQhPph6L+U3p99UWrEhu1v2YTafyu+YvrNeml+QdSX007i+v1O8W0PY0aU5+/Pn5pgwTSDpSCQDRkR6Pj4AAOXAeUwUg8k6VhB454zchUJLEC7QBArMiCE9LoawTIeUy/WcaNrA4+cLJ9bwYOWgOAuIGzEQAAAABADjwJAAAAAEAOPAkAAAAAQA48CQAAAABADjwJAAAAAEAOPAkAAAAAQA48CQAAAABADjwJAAAAAEAOPAkAAAAAQA48CQAAAABADjwJAAAAAEAOPAkAAAAAQA48CQAAAABADjwJAAAAAEAOPAkAAAAAQA48CQAAAABADjwJAAAAAEAOPAkAAAAAQA48CQAAAABADjwJAAAAAEAOPAkAAAAAQA48CQAAAABADjwJAAAAAEAOPAkAAAAAQI7EkywZzvrII4wOae24RjDKzXNzeSvRT1nxLyjnDz8AAAAxRG4Grm9yDJWXcGs8qJLPqPxsnnsF5erhBwAAILboLjyu3pBjwJPCzjZbGgQAAACwgScNoa+dh7pnixbkmCdhhg4AAEBQePEk6SyVeB+PeG8Tu4npfT9h5y+tL5sVMRNV0Zp4NOspmXtuB2ITWTLoleXWq+prGqeqiAQ8CQAAQHAYe5J42RNTitczenpKJIHnT0nmIRNi+6iKkLa/Jh+jdtCUK6LKWR9wUMePUXoAAAAgQHzNu7HXLf0QgpiPZjxAE0/Y+QebwLV9vJmZ/3Yw9QxxQyt9ZEjazmK2mvbxsx4AAAAIicA8iZ6JPj0lH4ofmOZP2cqPJ3nI0LVqntshQE+ibOVarun6BHnSEAAAAPBDdniS/nrpP3/VVp59glsMypOCaocc8CTKegAAAMAn4V7npJno01MiCTx/VTLXgjSZsEMdxPg9z1upwqOkpwzJED3Jc/ymcbqWC3MCAAAQCLpxIO56w61RLUrXSC+Zqo/08ajwk78mK6Mg2U0SwqXdNVSjePy3gzROVXW4lJR6qVpAv0iJk1JlVXUAAAAAOricAAAAAADIgScBAAAAAMiBJwEAAAAAyIEnAQAAAADIgScBAAAAAMiBJwEAAAAAyIEnAQAAAADIgScBAAAAAMiBJwEAAAAAyIEnAQAAAADIgScBAAAAAMiBJwEAAAAAyIEnAQAAAADIgScBAAAAAMiBJwEAAAAAyIEnAQAAAADIgScBAAAAAMiBJwEAAAAAyIEnAQAAAADIgScBAAAAAMiBJwEAAAAAyIEnAQAAAADIgScBAAAAAMiBJwEiB/DSvgAAAOQg8CQJluXSLK4JcpGkEFiWxb3Jz5fQDgAAAHKQPLzeu0B0oJxUpUmTJqk/TDqBrQXOm/x8ydoBAABADpKDF3srhWZRs61RQX7iTCQSAzGD4kniG1NhYvYIab23zLmsWLMRRUe6CVdT6UrmUwAAADlIDnpSQjAYdhGepEHvSaoZN29mo9rK/zAVp0f0N8TaKTYEAACQg+SdJ9G3CmkTlkx7EY/reFKAZhONJyWYAaSgPEnxAgAAkIPAk4yT+dyERSorZcVDc0DFZfAkeBIAAICMETtPEm4Wkazn1oiLKk8Ss5UmM4rWTz5yW2mdXjy9dWCgdfr0ICwpmVvoniS9vyd9r3n3JE0+gXiShzjhSQAAkA+E7UlVjyWvPo9VUaJR+43pepVviVu5rqcHbIrKbArsoAMZTSorLgjfk1iZEEXEaJzG1VRcxUXjSeK/moDhSQAAAEL1pJ6ZhYyqFM7scY1Gqx1S75E6k16M4u9J7HiSPQ1XUFDgiFNqYi6pUanFgumtrdMLrILprQMDZcXO/86HA5Jtg/Ik6aLMVuFJAAAAsokwPSldk+hDSq6DQPnhSeyKguLiYk6LkrLDDRelth3Kg82N2zZ8T6JvFbYnOd7GvhHTk60IngQAAHlBvMaTOKQOlJApkZEYaeTGyHt8SlLC3ZOSQ0r2RFzSh8qK0xSHW3TzJP1UXs57kqsbwZMAAACwZPf9Sc5iLnkS93s3e7G4uDilSs7tSwVJIypgh4iEIaPk52kLQ/NwEXoSUXeC9SQPbiQu0uQJAABADhK2J5lhpaP5SBxSElOKi5r8VblpQvXwEYdubCcTePAkpjF1i5yXGK1X5aOPR5qJVOakYcCTAAAAJOLmSd6ge0lQGeoT5JUn4QVPAgCAHCaLPUk/LJQpjOLJtBfxwJPgSQAAAFjiJRn5Rqa9iAeeBE8CAADAAk/KGJNiiTrejItIzF8AAAByEHgSABGTcaXLkxcAAAQAPClE9PcqHcsbPDdRjpK8kLO/ucu0UuTCS2hPAAAIgDy8SkWEqwFk2l6iw2dDZSOuM5jO4wbIzx3Ay0WShPYEAIAAyMFLFPc7OMrP4lRpPP+kjrKJoxGWZTn/BkUYeXomkObSk+k74HkoniS+MRUm1TOliM+aImaueqAU5yWWgJihqiB96ZStZINzAAAQADnoSQmTB3BTkoXqSRqhEVc6Vw594lhJ0jF4Eg/1keV0oTFa7y1nqdipHYVUO6JRqTbUShI8CQAQDPAk92SmV3FietshVE4j+pBoQqrEWedJHhqZI9NexOPtl4Nx9qQEM4AUlCdpNIgehvoFAAABAE9yTxaqJ2kgelLcrEgkwEZTIZUV7i/lwZNywJNUZcGTAAAhETtPstKRrufWiIsaT5JmLiZzXe8hHw5XvdCoj/OR+CaGUFpD1ciUbROq8aTW6cX2Xw6eHoQlJXML3ZOY4yrtI+l6U0/S5BOIJwUVp6szwZMAANEQtidVPZbsMx+rokSj8BsP64UuW5deuqhZ7y0fDle9UKmPJRtYyklPoqMymwJ79wcymlRWXBC+J7GXf5UT6Bc164kbUjxJ/NdVYvx7kuo9PAkAEB6helLPzEJGVQpn9rhGo71Yit6TUDiTqT/pS4+VJ0klSZU4JlBaIyRPYseT7Gm4goICR5xSE3NJjUotFkxvbZ1eYBVMbx0YKCt2/nc+HJBsG5QnqcZOhOM2LzxJEzA8CQAQDWF6Urom0YeUXCXGjyfpiyauz5QnSdc4BOY1QUNpjTA9iV1RUFxczGlRUna44aLUtkN5sLlx24bvSfStwvakhPAsAK8e4yV+jS/CkwAAYRCv8SQOld+ISkQUl2g8ybUgG1e9sNT3cbsmjhWuTeFTkhLunpQcUrIn4pI+VFacpjjcopsn6afyct6TXN3IpyeZxgZPAgCERKielAj7/iRn0ZsnEceBMuJJ4igR901anzhWuDZFSJ7E/d7NXiwuLk6pknP7UkHSiAqGEkuGjJKfpy0MzcNF6ElE3QnWkzy4kbhIVCJKnPAkAEA0hO1JZnAqoPmI/VSVUr/I5WC0XpUPl0Bf2UzbS3To20HTUK5t6KAb28kEHjyJOZx0i5yXGK1X5aOPR5qJVOakYWg8iRi/1yoAAEAAxMuTvGH5Ho0ICX1gmbaX6PDcRPQ9m2kv4vE2noRXoC8AAAiAmBoGBeY7ZVaSaXuJDm/tY7RnM+1FPPCkGLwAACAAslUycoBM20t0RNCYmfYiHnhSDF4AABAA8KSMkWl7iY6wW3JSLFHHm3GByJMXAAAEADwJAAAAAEAOPAkAAAAAQA48KQBc7zjO3pvNAQAAgHwG12+/EB0oJ1VJexcOAAAAkPVkwcU72B//i08ToOSvSmMUmP9aZPpXXDzwJAAAALlNFnhSIrjBGE6P6PnDk6TAkwAAAOQ2eeRJYibOGm/5e9jKZ0Uy7UU88CQAAAC5DTzJe/4x8STur73CkwAAAICgiJ0nCX//MrkyIbu1iEvPrhG3cvUkzeSafnOj2hFXSpHbSuv04umtAwOt06cHYUnJ3OBJAAAAQOieVPVY0jEeq6JEIziQ80Z6O5E0vfgpt16fv8pawvMkOiqzKQhwNKmsuACeBAAAACQSiZA9qWdmITOYUzizxzUamqOE4UmuYcTZk9jxJHsarqCgwBGn1MRcUqNSiwXTW1unF1gF01sHBsqKnf+dDwck2/r3pH379q1aterhhx8ePXr0bbfd9pW8Z1Q6XwYgb/jKV77ywAMPLFu2rLu720/HCECohOlJ6ZpEH1IS57k8eJLqX3o+qsT6ZHrC9CR2RUFxcTGnRUnZ4YaLUtsO5cHmxm3rz5MuX768cePGe++9t6ysrKen591333333XevZILL2cmloLlIZpDMhWihByZCr76qATN4MKgOZv2R//7773/r7q99EA++dffX3n///c7OzuXLl99+++1r1qy5ePGin+4RgJCI13gSh6vHZNaTVCtV+JSkhLsnJYeU7Im4pA+VFacpDrfo5kn6qTwjT9q4ceM///M/d3Z29vX1dXd3NzU1NTU1NTO0eKKZQFM6jSkaGOrJ1LlRK2NHOttSvJVia4otW7Zs2bJlczqb0tnIsCGd9SnWMdTU1KxlqK6urq6urkyxJsXq1atXrVq1atWqN998s7y8vLy8fGWKN1KUpVi2bNmyZcteT7F06dKlS5cuYVjMsCjFwoULFy5cuEBgYQon5WvpsLnZ+S9NYQdgx7M8hR2kHbAT/IoVK1asWOFUyq7jmylWrVrltMCaNWsqKirs9qmqqqqurl67dm1NTc26devWr1+/YcOGjRs3btq0afPmzVu2bLF33FvpbNu2bbuMHW5Ijx8RzSGnOjL7+/v/YczfnWyqPbhiyZGVS46WLzlavuRY+ZLe8iW95YtPlS/uK198unzxmfLFZ8sXny1fNFC+6Hz5oguK13lhcaB80dnyRWfLF58pX3y6fHFf+eJT5Yt7yxf3li85Vp4s7sjKJQfeWHyiccc/jPm7vr6+zs7OkydPdnR0PPHEE6tWrfLZQwIQBllzf5Ln9cT3qjxVsekT03MwQior3O/d7MXi4uKUKjm3LxUkjaiAHSIShoySn6ctDM3DefWknp6ecePGdXZ2Hjp0yNEjW3RaW1tbW1vbGNrJtJFpZRA1q0mg0SsNCljNYs3JvnY6zuR4kmNLmwRUkrSegTUkqSRVV1dXVVVVVFRUVFTYhmQrgm0MrCGtXLnS1osyhuXLl3OGxEoS6zS25TiGZEvSq+lQbMl+T7Gl5QxszBRbWpVi9erVjipVVVW5qpJtS5wn2XiwJaIqsUpEUaX+/v6Jd/5db922g8sWHFy24PCyBUeWLTi6vPTY8tLe5aUnl5eeKivtKys9U1Z6NvUaMHk5W50pK+0rKz1VVnpyeWnv8tJjy0uPLi89smzB4WULDi5bcOD1V4/XvjXxzr/r6+uzW2P//v0dHR1/+7d/29HR4bOTBCBw4vV7NysdbqV+keJD4uZsGnG9mIa+np6M7k+6sZ1MQPck+zrU399v6xHrRu3t7Tt37ty5c+euFB0Edhmyk4GiXK0C/ke2HP1yzMm+vDm2xA4sqTzJ1ZA4SVIZkg0rSatXr3ZGVmx1WJGCHUlavny5M5JENCROkhYsWFDKwKkSK0ysLbHaxKmSfmzJjpkdYRJtqTyFqEpr1qxxhpRsHFVav369RpW2MUQzsOSqSv39/Q/f/tXebZt7Fs05sGjOwUVzDi+ac2TxnKOL5xxfPKd3yezeJbNPLZndt2T26SWzzyydfXbp7LNLXxlQvM4ufeVc+uLZpbPPLJ19esnsviWzTy2ZbWd4fPGco4vnHFk85/CiOQcXzTmwaE7PojnH39r08O1fdTxp27ZtJ06cKCsrW7BgAbFLASAy4uVJcUPjW6pkHhLkgyf94he/2L9/f3d3N6dHthV1dnZ2dnZ2dXV1dXXtJtDlG7tEunvtdIMy9OX4FqtNnC05o0pbt27lJt2kw0gaQ2IlSTSkqqqqysrKiooKR5LY6TZ7PMmRJG6uzZluk86ysZNlixhsAWKHkfS2tJDBNi02N40tOQNd3NiSaEuOCLJjS7YqOdNwtipVVFS4jio5c3BSVZLaUrCqpLco25Meuu3LRzev3zvvpZ55L/XMf2n//JcOzn/pcOlLR0tfOlr60vHSl3pLXzpZ+lJf6Ut9pb8+Xfrrs6nXf/3oXx+aWGK//utH/ypdc7r0132lv+4rfelk6Uu9pS8dT2V7uPSlg/Nf2j//pZ75L/XMe2nvvJeObl7/0G1f7uvrc74k7Ny5s6en5/HHHyd2KQBEBjxJh3SwKvAi6Ikz7UU8dE+67bbbLl68KDUk2426u7u7u7v37Nmz1409QWAXR9GvTgL0ATDbqGxnamlpsVXJHluqra11vls7E3COKomSRDQkR5JYPbKpSOHclMPek8QZkuMZ4g1J4hgSa0iq6bbS0tL58+eXpqOZiROn5Ci2xA4ssSNM7MCSLUyOKjkjas7YEjcHx6qSvS/8qFJQc3AUVerv758wqvDI+qrdv5nR/ZsZ3b+Z8fZvZvTMmrF/1oyDs2YcnjXj6KwZR2fNOD7rl72zfnly1i/7Zv2yb9bz9uuhiSXO6fzQxJJf/8v/5tb0zXq+b9YvT876Ze+sXx6f9Us7q8OzZhycNWP/rBk9s2a8nSp0929mHFlfNWFUIetJO3bsOHXq1MiRI+n9IQDRAE/KJjLtRTx0T/rKV77y3nvvtbW1sYZk24mjR2+//XZPT09PT88+NT2+eTsdVwnr1kIZ/WIlzJYqW5hsW2pubrZVybnI2RNwzuybON1makiiJDmGxN6+LZ1uYyXJGUySTreJA0jcXJvjSZwbUWyJnYmT3sCkumnJFibHlqQ3ekun4URVWr16tahKzuwb8V4lbwNLRFWylUijSv39/fd/8Yb9FSvbnp/W/vy0nc9P63x+WteMqd0zpu6dMaVnxpT9M6YcfGHK4RemHH5hyjsvTDn2wpTjLzzT+8IzvS8886sf/JATI/b9r37ww+MvPHPshSnvpDY/+MKU/TOm9MyYsnfGlO4ZU7tmTO18ftrO56e1Pz+t7flp+ytW3v/FG2xPclTp/Pnzn/3sZwPuNAHwDTwpa5gUS4jBjxo16r333rMliR1DcvTI1qD9+/cfCJn9Aq4e9rYC16GvIXbMudd6+s09e2y1sm2JVaWmpiZnVGnHjh32kJIznmSrUrDDSGsYnN+4sSNJmuk2VpLEX7RJDYm7LWk+g7NItCXpDUzSsSX9D+JUtsQNLLE/hWN/BGerEnejEl2VwrMljSr19/ffd9PInlVlTc8+3fLs023PPr3z2ad3/WJyxy8md/9i8t7pk3umT+55bvLB5yYffG7ykecmH31u8tHnJh9LvV58/AesHtk8NLHkxcd/cCyV+Ehq857nJvdMn7x3+uTuX0zu+MXkXb+YvPPZp9uefbrl2aebnn26Z1XZfTeN7O/vr2V+0HDhwoXPfOYzQXecAPgFngSi4Etf+tJ7773HShI7huQY0sGqKcOeqTwkcHCIqinDrClVB0Wqpgyz1IwtbXBLYlmWde+8uv379+/fX/HMsHvn1qXsqW7eWItZtFdYP1nT09Oz5qfD7p1b26N4VztvrKKgu2ZttlWpvb3dUSXHk5whJVuVpCNJrj/710y0sQ8CYJ8FIN6T5IwkcT9tW7p0qfR+bVuSOD0Sp9s45s2bx5kTJ0zicwRUt3sTbUkcWJLaEjewJJ2As3eBSpU0c3AepuHoA0tS+vr6xt7wub0rl9ZPeapxylPNU55qnfJU27Qnd057smvak93/9uTef3ty78+e3P+zJ/f/7MlDP3vy8M+ePPyzJ48yr//z/UkPTSxxRpQfmljyf74/yf7ITnwotfnenz2599+e7P63J7umPblz2pNt055snfJU85SnGqc8VT/lqb0rl4694XO2JzmqdOHChU9/+tOZ7qsA4IEnhYjP+7tziVtuueW9995zptvsuTZekmzZmVIletKh6qlqwxlb2phMMqVasumhQ4eaXh03trRBZlZjSxsOSkabKp4Zdu+8utRQU928sdZPK/gpwJQ8pZSK+d/66Rp7JKp23lhbp1LYU3vl/zrs7llb7Ak4+3Yl+14lZ0jJvojat3Lbk27En/0TJ9o4Q3IeB8B5EitJrCFxc23sz/71hiQdT7I9yUZvS1JhUj1KQGNL3GSc1JacaThXVWLv6XbuVdq0aZPzcIdgB5Z8etJX//ijDb98dsXXCleOKXxzTOHqMYVVY75Yc9cXN9x18+a7btp690077rmp4Z6bmu65qeWem9rvuWln+us/Jjzw0MSSkykemljyHxMecD5tv+emlntuarrnpoZ7btpxz01b775p8103bbjr5pq7vlg15ourxxS+OaZw5ZjCFV8rbPjls1/944/29/c7P2LYsWPH4ODgpz71qUz3VQDw5Mt1Onr8Py8gexHn4xxP4gaTbK3QkFSf6qnDkjokCtSQJ6WkqenVcU7qplfHWWPHjnWWNcY1perggQMHKtMGne6dV1c/P31QiFempEbZnlQ3byw3ECXn7pe3srNv9o/gGhsb7cuGPZ7kPBeA9aSQDMm5g5t7BAA3mMT9uk28X9vVkFhP4tzIyJYoD17SP2xJY0uaaTjxXiXx52/cvUo2pqoUhi319fWN+u+/Vzt96vLbbiwbfeOK0TeWj75xzegbqm+/Yd3t12+8feTmO0Zuu3Nk3Z0jG+4c2XTnyNY7R7Yxr+fuv++hiSXvpPPQxJLn7r/PTtB658imO0c23Dmy7s6R2+4cufmOkRtvH7nu9uurb79hzegbykffuGL0jWWjb1x+2411z00b9d9/z/YkR5UGBwc/+clPZqTLAkBDFlyk7etKUPmosgqqFCe3kBJLydiN3ApETyosLHz33Xc7OjrYG7dTg0kVU4ZZY+fXJ+fdplQfPnz4cPOC+6xxrzYdTrJ2mtqmksnWThs2dW3qn3GvLpg2bNyrTYebF4wbW1rNeJPCuJpeHZeczkuOMh08eOBA5ZRhY+eXThlmPVOZHG2qnz/Weqai4plhlvVMRfptTqkxKBY7+f799p1P9i1Ne/bsefPpYXe/vLWrq4u7S4n94ZvtSfZ93LYncYbkSJLmN//i/dqiIXGP3naeJ8k+J4mVJPF3beyP0YiGxImR7Ubz0tHbkuvt3vS7vMXnLXEDS+IdS66q5EzAsbakV6UIBpb6+vpG/dHv1z03dfltXygb/YWVt9/05u03rbn9C9V3fGHdHTdsvOP6zV+7ftuY6+vGXN845vqmMde3jrm+LfV67oHxD00scQZjuffPPTC+bcz1rWOuEIKShAAAIABJREFUbxpzfeOY6+vGXL9tzPWbv3b9xjuuX3fHDdV3fGHN7V948/abVt5+0xt/d1PZ6Jvq/2PaqD/6fdaTamtr4UkgnmSBJyWCG3TR5ANPChCNJ3V1dckm3Srtu44OVU8dNnUtL0m2BKWvED9YOy21qWVNXZtcMXXqsHGvNjUvuM/Zmsmp+dVxqfEq25OqHZFqYG95sh3uwIEDBw40lI5LSlOlLXcNpeNk7pY0Jn4oKm08yfGk9vZ25xkBrCc5v3fbuHGjM5LkbRhJb0js05IcT2J/3cY+J4l7PJJqGElvSKInzZs3b+7cufMENLbEjjC5ji05tuSokv4hApwtcQ9YslWJewqleFu381gH6RwcUZU0tuTFk/74Dxr+8+fL775lxd23rLz7ljX33lo59tbqsbeuH3vrprG3bh1767axt9bdd2vDfbc2jb+ldfwtbeML7ddDE0uc6eOHJpY899CD3Jq28YWt429pGn9Lw3231t1367axt24de+umsbeuH3tr9dhbK8feuubeW8vvuXXlPbeW3XNr48xnR/3xHzieZKsSPAnEE3hS8Ll5KMVnYJn2Ih7Rk774xS+ynuTcwe0y62ZZljW15siRIzXTho1b0HxEZOiDmmnDptYcOdKy8D5r3ILmI8kxKWvq2sOHVZ604D7bqJLvp1QfEu4HH1va0Fg6zlGlIU/ixEk+ssSMJ9k/rLOHlN78iXw8iZ13c+5P2rx5szPp5n+iTW9IthOwjwBQjSRp7tr2YEiR2RI7sCR95JJqGo57IqUzByd9rpJGlcS/BBelKvX19X31T/+w8de/XDnhjjcn3LF6wh0VE+6oLrpjXdEdG//+9s0Pj35r4ugdE0fXTRzd9M3RTd8c3frN0W2p13PfeNh5quRz33hYuqb1m8kN6yaO3jFx9FsTR29+ePTGv799XdEd1UV3VBbduabozlVFd5YX3dn00oyv/ukfsp5UV1d38eJFeBKIIfCk4HOLiSdxf/cts5508803X716lfOkt99+O+0m7sbS++yJNNGIanTzbowntSy8z0oOIiUn6+zJN6knsYNUSWc6dOiQM+/GTMFVpebeGkrHJZWp0l4VxHgSO+/G3Z/ETrppJMnoViR2oo0zJO7BktIZN/HH/44quf6uTWpIc+fOZd1oLoOrLXHa5MeWpM9bkj7C21El59FK7JMC7AE/+xGUoio5f+3Ygyr5t6W+vr7Rf/4nzfP+q+IfJ1QUj68sHl/zP8ev+1/jN/3j/Zu/M37bd8bv+M74uu+Ob/refU3fu6+tZGxbydhdJWM7FK9dwqK9ib153XfH7/jO+G3fGb/5O+M3/eP96//x/nX/6/6qb99f+e37K79T1DL//47+8z/p7+9n/7b0xYsXR4wY4acnBCAMYudJ3OXEWZlQ3GAkTeyk57bSmI2Ysz4ecSW7iYdaE1dKkdtK6/Ri++/gTg/CkpK5BeNJzH3cSU+qnDLMsqZUV0+17y9yxnnM5t2mTh1mJSffkra0dtqwca+ulXrS2mnDUrN76nm35NvUuFHllGG2J6XGkRpKx6rvVBKfzGTfn2Q/Ramrq8t54KTze7e6urodO3awP3azB5PEu5GkkqQfQxJvRVIZEvszN/HXba+99prmniSpJOkHkPToh5fEQSZTW1Ld6C3aku1JzjQcOwGnv1dpMwNxVCmMgaW+vr77Pzu8ccnCjT+etO4Hxet+ULzpiUc3PfHoW088uv2fv9Xw1KNNTz3a8tSjbT96pO1Hj3T8+JGOyY90TX5kt+LVJSx2TH6k48eP2Ju3PPVo01OPNjz16I4nH932w+LNPyze/MPi9U98e/0T3940+fGmpYvu/+xwx5NsVYIngXgStidVPZZ0iceqKNHI/jxtQrh5iPMnbr34qSq9vnRNPPrcgvIkOiqzKbAbLpDRpLLiAt+eZD8/iXvC5P6KZ4ZZ/H3czG1GBp5kOQ8JGLpdu+nVcRazPu1JA2NLX7V//cY+UIAbTxq6N+nAAUaBUm8UI0bMkwIqnhn204rUL9+efnNPd3d395tPD7Pu/s2m5HMB2KdyO5NuzpOT7DuTampq9IbkZ6KN+4Eb9ywA9jlJ3MMkxUcAiHNtGkNSqdKcOXOMbMl5T7El8aYl7tYl/TQc+1M450/nqh4W4IwqBTuw5FmV+vr6fv6NotLn/n3ngld2/Pu/vjXlibd+Mqn2J5ManpnUOGVS69RJbdMm7Zo2qePnk7p+/v3uZ7/f/WxJj8mr+9mS7me/3/Xz73f8fNKuaZPapk1qm/Z409THG6c8XvfTx7f99PFtU39Y+4undy2cXfrcv//8G0WcJ126dAmeBGJIqJ7UM7OQuXQUzuxxjYZmHpnyJG/RUgjJk9jxJHsarqCgwBGn1MRcUqNSiwXTW1unF1gF01sHBsqKnf+dDwck21I86cqVK6wn2bdyr/npMOveuXWpx3DbnsT+Bi3pMAE8P2nIk5gnCNhPsGwsHWclH0Up3J/keNL+/fuHHjjpPIcy/dlK9qCR/ZzJ1NMm1/x02E/WMD922z77Xuvulzdveflu667/u3HooQDOpJszmOQ8DsAeTBLvRjL6zT/3p201huQg3r5NlCQbiiFpRpWMbIl9b2RLjjCJN3pLbclWJWdsiXteAOURlKGqkt6W7LNv/PWfe3nK040rXz9QtfLA6tcPrH798OrXj6x+/UjF68cql/RWL+2tXnqyeump6qV95q9T1UtPVi+1MzletfRo5bKja5YdWbPsoP2qLm8qX/bylKfHX/+57u7urq4ueBKIP2F6Urom0YeUHNiVXBrNetW/YnqxaGI8+txi5knsioLi4mJOi5Kyww0XpbYdyoPNjdvWxJNkj1Aa+nMlqudM2jNgmucnpR5RyT1JstG5e2hKFfP7tdQzJ9P+oElD6TgrbWpNPmj004p9yWdJVvBPkmSevv2T1c5fN6mdey9vdpNXdnEP43b+xJvzSzf7ziTntqTq6mr7Amz0izbTMSTu75PYcA8C0Ey3iTNuFCvSjCo5hG1L7JSi3pbKGBxVKi8vd+5VEv+wiUqVNm/eTFSlAAeWWltbDx48+KtHi75bcN34z358/Gc/fv911z74ueET/npE0chPPjTyk3//N59++PrPTLzhs9+48bPfvPG6b9543SP26wvXPfKF1Jsbr3vkxuu+eeN1/5C++M0br/vGjZ+deMNnH77+M3//N59+aOQni0Z+csJfj3jwc8Pvv+5au7jvFlz3q0eLDh482N7eXp8OPAnEk3iNJ3HofUi1PlhP0iTQpDfyHp+SlHD3pOSQkj0Rl/ShsuI0xeEW3TxJP5Un9aTLly+3t7eLQ0qcKiXv6Q4f4p+BI/4tXte/+Ob83Vz79m3NnUnSGTdbj6TDSKtTeDYk7gduDuy8mzOYpHme5Kuvvkq8a1s6UKTxJOLYEqdNUlvSPGxJ/7wl9m+eSFWJfa6SbUv2LWXSR1CKo0qRPTKgs7Ozj0B/mOzevbteAJ4E4knW3J/keT1lXEq66CE95SOfiaVIZYX7vZu9WFxcnFIl5/algqQRFbBDRMKQUfLztIWheTiCJ126dKmtra29vb2jo0McVXKepcQKk/g3a1U2ExR6H5LK0B413QycIdnPTHL+Aq4tSc4zuJ3fuNkjSfYwUkU6rrcisYYk/mlbiiE5nsROuhFvSxJVSWVIGubI0NiSuIazJc0t3vqnU3IDS+LN3aIqic9V4v6wiV6VIn5kgJQ6f4gmpAeeBOJJvH7vxk1PcCv1i65uZMnQlKtZzyVQ1YVYZQ8fcejGdjKBypNaW1ttVWIn4GxbcoTJdiZHSjhEawkclQA5usPSpaaTgdUj5ykA9oMlnT/aID4IQJSkNekY3aztwZC4+5Ok40nSpxlxnuTBjfSqpLIllT+5ji252hI3DSdVJed2JefPwDmzb86P4FSqFNkjAzz4U2SqBE8C8SRenpRjuIqOPkGOedLFixdbWlpaWlra2tra2tp27txpz8F1dnY6wmRPxoVHNw2VBjnSY7Mrxc502gVsN2ptbbVn2ewxJPvXbfZcm0aSnLuRHDdiDSnAW5FUhuQ8FIDzJPaeJKkq6afbVLNpUhki2tJcYf7Opy1RpuGcByzpVcl5rpJ9r5JelfJzYOny5cvwJBBD4EkxxWgyLtNexKPypMbGxubm5paWFntgiR1b6ujocEZfNIM0nukk05GOVIZs9WFpTdHC0Mxgjx7Zf8HNGUParn6epH3jtg03xUaZaAvQkMT7uKV3JknHk8Sbk1yNR/WRakOpLUlHm0xn4ijTcNzAEjsBJ/4CznlYAFQJngSyCHhSLpBpL+KRetLg4KA9iNLU1GSrgyNM9qCL7R87Q0Ac4CHCOpBoP00MjY2NtgbZOF2/c52wLza2GzkDSOzdSPZd287v/9lhJOmd2sTnRnqbZWMNiYW7P0nzSzfRk/Su42pLs2fPJm47l/BMAVdbcpzJ1Za4gSX2KZQqVbL/sAk7AUexpWAfGeDBn8JWJXgSiCfwpKxnUizhgrz55psvXLhgC0RDQ0NjY6NjGLYwObQGTQuNZgFRg1gZYjWIu/Y4Vyz2kmZf6uw/bWsPINnP2nYMyXmSpDOMxEqSOIBkj1sEciuSqyGJT+IW7+MWJUm8OcnVk1jpET3JhrItW5zKlsTfxLGqxI0w6W9aElWJnYBzHkHp3KvkjCqxP4KLeGDJ81BTeLYETwLxBJ4EouDmm28+f/680yE64y6OfDSFQyONBhliP85akeND7BXLubA5fx+efViOfS20R4/sKTYb9n5t8W4k6Q/+nQEkn8NIRoZk36Ik/Ztu0h+76e9MisCWpPIktSXpTUusNrkOLNmtKqpSeXm59A+bcLd1S/+8SUgDSz5HlcJTJXgSiCfwpBDxeR93LnHzzTcPDAxwHeXRo0d7Y8zxdI4xvCNwlIH/I75Hjhw5ckTyN1cO239a7pD0eU6qpxW4PrZA/OGeFJ/3vOt/92d0B1iUqELi4t+thW0Hp7m45nV+m2nvLOepFva+tp+Rah8A7EFyVIZ4sNkcI3A8rvT29h49ehSeBLKCfLlOR4//5wJkL9J5t4GBAfab6JEjR+bMmVMEAMhL5syZw6kSPAnEkxhdpDXPIgowH9dHIgUSnmnO9MRSMn3fNo/oScOHDx8cHGQ96fjx40VFRT4rDgDIUoqKio4fP8560sWLF+FJIIbEyJMSwQ2uEJ/9aFocPIkIPAkAoMf2JPZ2JXgSiCfwpACy9ZbM5yYsmfYiHo0nOfeBwpMAyGccT3JUCZ4E4kkeeZL/zLPLk7i/7xYHT2J/WQNPAiCfYT3JBp4E4kkcPUl685DqpiLV32sT83H9IyGqm5akH+nT06us2YSej9xWWqcX23/vdnoQlpTMzZcnsT8thicBkM/Ak0C2ELYnVT2WdInHqijRCC7CvaGvF/PRaIdmPs4oHukihVDm3VqnFwQ4mlRWXABPAgAEBDwJZAuhelLPzEJm1KVwZo9rNG7+QRwikubjwZP0HqYaUoqPJ7HjSfY0XEFBgSNOqYm5pEalFgumt7ZOL7AKprcODJQVO/87Hw5ItqV7kvNcO3gSAPkMPAlkC2F6UromUYaUTMd1EupJMTGfYD2JXgsKYXoSu6KguLiY06Kk7HDDRalth/Jgc+O2JXsS+0RgeBIA+Qw8CWQL2TGeRBywMfWboNZrIqHgU5IS7p6UHFKyJ+KSPlRWnKY43KKbJ+mn8uBJAAA98CSQLcTu/iTpYhjrXcefxG3p3hYHT+J+72YvFhcXp1TJuX2pIGlEBewQkTBklPw8bWFoHs7Qk3bs2AFPAiCfgSeBbCFGv3fjps9Ui+x6cQ09H1Xpqo8Sgiqp0jsJiLX28BGHbmwnE+C5AAAAPUVFRb29vXgeN4g/MfKk3MNVdPQJctKTMJ4EAEjAk0D2AE+KKXRJSmSPJ23fvh2eBABIwJNA9gBPygUy7UU8+vEkzLsBAGxPamCAJ4F4Ak/KeibFEi7IESNGsONJ8CQA8hx4EsgW4EkgCmxPsp8zib+DCwAoKio6ceJEIwM8CcQTeBKIAseT6mpr7d8A9/b2wpMAyFtsT2pqbEy+mprgSSCewJNAFNieZBtSfV1dfX09PAmAfMYZT3JUCZ4E4gk8CUTBiOHDBwcH62pr6+vqGurr4UkA5DlFEyac6O1tamiwJam5sfESPAnEkhh7ku+nVAOPOC0f3C4YMXz4xcHB+tra+tra+vr6BngSAPlN0YMPnjxxormxsbmpyX7Bk4COzClBXF2EvVTb751/A2yssNvdZ7Saze2P6PkbpdQsGm3LMOLaay8ODtbv2NFQW9tQV9dQX3+it7dowgSDzAEAOUTRAw+c7O1tbmhoaWxsaWpqaW6+dOnSiOHDMx1XJLBdpapzNurhjYoOLmerpMUqaTFKTE8vyyIzxhJ7T0okeE/KLnwGrDp/POQfgSepsT2pIeVJjbYnPfhgIJkDALKOovvuO9nb21pf39rQ0NrY2Orfk7Lu6uCgiTzYSnm7duizNPQeeFJASC/V8CSfGVI2dNUyrwz/xCcuDg427djRWFvbVFfX3NBwsre36IEH/OcMAMhGJowde/L48da6uraGhrampjbbk6691nuOWXd1cMiIJwWVZZSelMjMXo7lgUX0JHHwkJ2kU72hbysmpgyWSuuiyVNfkLi5/owyCp4oYcRqqjK0rIRlDf/4xy8ODjbX1jbV1jbX17c0NZ08caLo/vvdcwYA5CIT7rnn1PHjbbW1bfX17Y2N7aInUfpkbpHeLZt2la79J3Fz+rbOR5Tg6ag6eeJFStw0NZvGCZBqlk26hk3pvHf+TdsEnpSE4kncsci+l+5sTc76lJpt6SekJivXlaIzqQqi5yndSpU5/bhU5zb84x+/NDjYXFvbUlfX0tDQ2tgITwIgn3nw7rtPHT/eXlu7s75+Z2PjzpaWy+J4Er3/TJB7Kp9dZRg9bSAp6YgyJ74nF8RKDOs60gT6RW5z9l9iMCGRJZ5E/FYhbpvwfQiqPImIvnTplw/95oF4kurrS7CelBiqke1JrXV1bfX1bY2Nbc3Np06eLBo/npozACC3ePCuu/qOH99VX7+roWFXc3NHa6vck8T3Pj3JSaz5Cq1fKe0/pd+cVV+n/XiSqvc2RX9FIBekEh3NOBNlc+5fSdgRkg2e5KxRHUChelJCfaxTMNJ2yiaBeBIlWv1K+uaJRMKyhn/845cuXmxvaGhvampvbt7Z0tIHTwIgj3nwrrv6e3s7Ghs7mps7W1o629ouX74ckScRvwZ76A+Jm/jxpKDwUHdpNm7jSZr0+s3hSW5IDw7K6RHeeJKYLWWHedOX6Feq1ph+RVMs2p60s7l5V0vLrra2jvb2/lOnMO8GQN4y4e67+0+c6Gpu3t3Wtru9ffeuXVei8aQ49LSBeBI39kMhqMsEm2UI827O+zhIUiKLPSmROjjYgUFLPXjILuq31aQUS3ethTRPn8GLH1FWum7ufKRZdK2poo7DP/7xy5cudbS2dra3d+7c2blrV39/P37vBkDeMuHee0+fOtXd3t69a1d3R0d3ZyfvSaYdYILWLSdMekXiSullwnWl9HKgT6kpnYL+ckZZKWZJvo9bNRmnmZ6DJ7mRoRbh4Q7HfIA9ewNi+Cc+cfnSpa5du7o6OuwXPAmAfGbCuHFn+vv3dHTs7erau3v33t27r1y5ki/PmQQeyNz1Nz8u/D6haTXQMOLaa69cvtzd2dnd1dXd1dW9e/fp06fxnEkA8pai8ePPnj79dnf323v29OzZ07N371V4EogluPaDKBhx7bVXrlx5e8+evXv27N2z5+29e8+cOYO/WwJA3lL0wANnz57d39OTfO3bd/XqVXhSdsFNpYX3ynA1M1s8yBNGDB9+9cqVnrff3tfTs6+nZ9++fWfPnsXfwQUgbyl68MGBc+cOHjiQfB08ePXqVfwdXBBD4EkgCkYMH3716tUDDAPnzmXEkz788MPuPXv27tl7+vTp6EsHANgUTZhw/vz5w4cPHz58+Mjhw0eOHHn33XfhSSCGwJNCxHL9pUDe3PNke9JBhoGBgYx4Um/v8aqqdRvWb29oaPztb38bSJ7VJZZlWVZJdSC5AZAPFBUVnT9//uiRI84LngTiSb5cp6OH6EA5qUqTJk3i1owYMeLdd991vjgeOXLk/Pnz0XvS4ODgm6sqtmxZu23bijVranp6egLJtroEjgSAGUVFRRcuXDj2zjvH3nnn2LFjx44de++99+BJIIbk4EXaxkqHWxlB6SElljIQM1Se9A7DhQsXovekxsaGleVbatY8UV9z7YYNNRWVG65cueo/W3gSAKYUFRUNDg72MsCTQDzJTU/izEO/GEEAASaWkmkv4hE9afjw4e+9996xY8eOpxgcHIzYk06dOlleXlVevqK77o+O7btm44rxVTXNzc3N/nOGJwFgSlFR0cWLF08ywJNAPMkFTxI9I7Oe5CF/nyFl2ot4VJ50guHixYtRetKHH364devWyspt1WUPJRJWImHt2vr/bqpZUFG5ub+/32fm8CQATCkqKrp06VIfw/vvvw9PAjEkBz0p43dPx8STyoqHph2Ly2LhSc4Xx1OnTl26dClKT9q3b9+aNZuqq5ceaPk925MSH1oblo7evqN769ZtPm/ohicBYIrtSf0M8CQQT2LnSdL7irj1+sTePEmaPzEe/+NVqpCIm8ttpXV68fTWgYHW6dODsKRkbt496f3332e/O0bpSVevXlmzpmr79q6NK8YmElbiipW4YiU+tDo2/kHT9nk16+qPvXPMT/7wJABMKSoqunz58mkGeBKIJ2F7UtVjSZF4rIoSTbqISN+bLupL0edgup4YACUkI1RmUxDgaFJZcYFvT2K/O16+fDkyT2pvb1+3rv6tLS/va/y9V37zxR/9y5gf/+jOf5v69f1tH9uxoqCuoXPz5rc++OADz/nDkwAwpaio6MqVK2cZPvjgA3gSiCGhelLPzEJmyKVwpuuPsDWeRB+/8TaelJANKWlSesg/2E1YVJ7EjifZ03AFBQWOOKUm5pIalVosmN7aOr3AKpjeOjBQVuz873w4INmW6Ensd8fIPOns2bPV1Rta29rqqm9776L1xBPf+973pn33e09/+9s/2rF2+LGmj9VW/6S2YXdX127PRcCTADAFngSyhTA9KV2T6ENKpjNZgXgSRdGkcbqOTlEI05PYFQXFxcWcFiVlhxsuSm07lAebG7etoSedOXMmMk/67W9/W1dXt7v7aP2O/zzcec27g787+cff+qd/+pfvfe/x4m9/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" alt="" />
如果方法都没有问题,就可以在界面调用了
清单4、界面代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<script type='text/javascript' src='/Test/dwr/interface/dwrObj.js'></script>
<script type='text/javascript' src='/Test/dwr/engine.js'></script>
<script type='text/javascript' src='/Test/dwr/util.js'></script>
<!-- 以上三个js文件为dwr测试界面的三个地址,直接拷贝过来即可 --> <script type="text/javascript">
function showOne(){
dwrObj.sayHi(callback);//dwr对象 dwrObj直接调用服务器的方法,其中回调函数callback用于接收数据
}
var callback = function(data){
alert("showOne="+data);//显示接收到的数据
}
function showTwo(){
var name = dwr.util.getValue("usName")
dwrObj.sayHello(name,callbackp);//参数直接传递过去
}
var callbackp = function(data){
alert("showTwo="+data);
} function showthreen(){
dwrObj.showObj(call);
}
var call = function(data){
alert("showthreen :us:="+data.usName+"\n"+"pwd:="+data.usPwd);//对象直接点属性就可以了 } function showfour(){
dwrObj.showList(callss);
}
var callss = function(data){//List直接循环取得对象,对象直接点属性就可以了,那么map什么的都同理了
for (i=0;i<data.length;i++){
alert("us:="+data.usName+"\n"+"pwd:="+data.usPwd);
}
}
</script>
<body>
This is my JSP page. <br>
<button onclick="showOne()">showOne()</button> <br/> <br/><br/>
<input type="text" id="usName"/><button onclick="showTwo()">showTwo()</button>
<br/><br/><br/>
<button onclick="showthreen()">showthreen()</button>
<br/><br/><br/>
<button onclick="showfour()">showfour()</button><br/><br/><br/>
</body>
</html>
搞定后再次运行项目 查看效果,如果你仔细的看完了 ,界面js直接调用到了服务器上的方法,是不是觉得dwr很简单呢
(转载请注明原文链接,谢谢)
DWR框架简单应用的更多相关文章
- Web端服务器推送技术原理分析及dwr框架简单的使用
1 背景 “服务器推送技术”(ServerPushing)是最近Web技术中最热门的一个流行术语.它是继“Ajax”之后又一个倍受追捧的Web技术.“服务器推送技术”最近的流行跟“Ajax ”有着密切 ...
- Web端server推送技术原理分析及dwr框架简单的使用
1 背景 "server推送技术"(ServerPushing)是近期Web技术中最热门的一个流行术语.它是继"Ajax"之后又一个倍受追捧的Web技术.&qu ...
- Dwr 框架简单实例
Dwr 是一个 Java 开源库,帮助你实现Ajax网站. 它可以让你在浏览器中的Javascript代码调用Web服务器上的Java,就像在Java代码就在浏览器中一样. Dwr 主要包括两部分: ...
- JS调用Java函数--DWR框架
(1)dwr与ssh框架整合教程dwr框架介绍. DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJA ...
- dwr框架介绍
转: [DWR框架]过时了吗? 置顶 2018年06月02日 11:59:02 许你笑颜 阅读数:4129 版权声明: https://blog.csdn.net/smileyan9/articl ...
- dwr框架中DWRUtil的方法
dwr框架中DWRUtil的方法 2008-10-14 17:57:23| 分类: JAVA | 标签: |举报 |字号大中小 订阅 7. util.js 功能 util.js包含了一些工 ...
- MongoDB聚合运算之group和aggregate聚集框架简单聚合(10)
聚合运算之group 语法: db.collection.group( { key:{key1:1,key2:1}, cond:{}, reduce: function(curr,result) { ...
- Hibernate框架简单应用
Hibernate框架简单应用 Hibernate的核心组件在基于MVC设计模式的JAVA WEB应用中,Hibernate可以作为模型层/数据访问层.它通过配置文件(hibernate.proper ...
- Springmvc整合tiles框架简单入门示例(maven)
Springmvc整合tiles框架简单入门示例(maven) 本教程基于Springmvc,spring mvc和maven怎么弄就不具体说了,这边就只简单说tiles框架的整合. 先贴上源码(免积 ...
随机推荐
- JUnit 简单的使用 (学习转载)
JUnit4使用Java5中的注解(annotation),以下是JUnit4常用的几个annotation: @Before:初始化方法 对于每一个测试方法都要执行一次(注意与BeforeCla ...
- ubuntu的dns设置
ubuntu的dns设置为: dns-nameservers 8.8.8.8 注意不要少s
- iOS - OC NSDictionary 字典
前言 @interface NSDictionary<__covariant KeyType, __covariant ObjectType> : NSObject <NSCopyi ...
- jquery.pagination.js分页
参数说明 参数名 描述 参数值 maxentries 总条目数 必选参数,整数 items_per_page 每页显示的条目数 ...
- iOS开发之 XCode6.0的iOS免证书真机测试方法(MAC及黑苹果均有效)
参考:http://mobile.51cto.com/iphone-455500.htm XCode6.0的iOS免证书真机测试方法(MAC及黑苹果均有效) 前提:设备已经越狱 目前在XCode上开发 ...
- unsigned 整型实现无溢出运算
普通的 int 整型能表示的范围很有限,所以刷题时很多时候不得不用 long long 来存更大的数据.或者找出数列中某个只出现一次(或奇数次)的数(其余的数均出现两次 / 偶数次),用异或运算的经典 ...
- go分页
简单的beego分页功能代码 一个简单的beego分页小插件(源代码在最下面): 支持条件查询 支持参数保留 支持自定义css样式 支持表/视图 支持参数自定义 默认为pno 支持定义生成链接的个数 ...
- Integer封装与拆箱
Integer封装与拆箱 简介: 目录: Integer自动封装的陷阱 Integer自动拆箱机制 Integer自动封装的陷阱 public class IntegerDemo { public s ...
- spring-boot资料
spring-boot-admin的相关资料 This application provides a simple UI to administrate Spring Boot application ...
- 多路径(multi-path)安装测试实例
1.确保安装以下的包: device-mapper device-mapper-multipath [root@nticket1~]# rpm -qa "*device*" dev ...