您的位置:首页 > 编程语言 > Java开发

在SPRING中集成DWR实现二级菜单的级联响应

2007-07-18 21:46 281 查看
功能说明

在项目中要实现当杂志选项改变时,其对应的期刊选项中的内容也要跟着改变.

由于项目是用SPRING开发,因此可以很好的集成DWR

首先在 WEB.XML中配置DWR

<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
<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>

在DWR.XML中配置JAVA类以及对应的 javascript类 ,queryparameterajax必须在SPRING中配置

<dwr>
<allow>

<create creator="spring" javascript="QueryParameterAjax">
<param name="beanName" value="queryparameterajax"/>
</create>

<convert match="ParaBean" javascript="parabean" converter="bean"/>

</allow>
</dwr>

这样在javascript中就可以直接通过调用对应的javascript文件来调用java类
JSP代码如下

引入js文件

<script type='text/javascript' src=/dwr/interface/QueryParameterAjax.js'></script>
<script type='text/javascript' src='/dwr/engine.js'></script>
<script type='text/javascript' src='/dwr/util.js'></script>

function onChange(obj) //通过调用JS文件来调用java类
{
QueryParameterAjax.queryissuelistbynameid( document.all.magnameid.value, fillmagissue );
}

function fillmagissue(resultlist) //JS的回调函数 更新界面

{
document.all.magissue.options.length=0;
for(var i=0; i<resultlist.length; i++){
var parabean=resultlist[i];
var oOption=new Option(parabean.name,parabean.id);
document.all.magissue.options.add(oOption);
}

}

杂志
<html:select property="magnameid" size="1" onchange="onChange(this)" >
<html:options collection="MagList" property="id" labelProperty="name"/>
</html:select>
<br/>

杂志期刊<html:select property="magissue" size="1" >
<html:options collection="MagIssueList" property="id" labelProperty="name"/>
</html:select>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: