【问题标题】:Calling ajax from struts2 to populate a div从 struts2 调用 ajax 来填充 div
【发布时间】:2011-06-07 09:27:04
【问题描述】:

我有一个下拉菜单,并且有一个与下拉菜单的 onchange 事件相关联的 JavaScript 函数。我需要使用下拉列表中的选定值调用操作类并从数据库中获取数据。我需要指针来调用操作类来自 JavaScript 并传递下拉的选定值以触发数据库选择查询并更新 div 中存在的表,而无需刷新整个页面。

我的下拉菜单

<s:select name="newQuestion.CertificationId" list="certificationList"
    listKey="certificationId" listValue="certificationName" headerKey=""
    headerValue="Select Certification" label="Certification Name"
    onchange="getQuestionsList(this.value)" />

Javascript 函数

function getQuestionsList(val) {
        alert("Here" + val);



    }

基本上,对于每个下拉选择的值,我需要对 DB 进行 ajax 调用来填充当前隐藏的 div。

【问题讨论】:

    标签: java javascript ajax struts2


    【解决方案1】:

    您究竟需要哪些帮助?据我了解,您已经弄清楚了(减去对 Struts 操作的 ajax 调用)。

    你只需要让它工作:

    • 调用 Struts 需要什么 URL 行动
    • 如何调用 Struts 行动
    • 如何更改 使用 Javascript 的 div 元素

    一些有用的 Google 点击:Struts and Ajax Working TogetherChanging content on the fly using Javascript

    你有正确的方向,现在去做最后的润色。

    【讨论】:

    • 我需要从下拉列表中传递认证 ID,并将其传递给操作类以生成该特定 ID 的数据。
    • 我需要了解如何在 struts2 的操作类中检索我可用的认证 ID
    • @Sam 您可以将下拉列表中的 id 作为普通查询字符串参数传递给服务器。例如,如果您的操作 URL 是 myhost.com/MyAction.do,那么您可以在进行 Ajax 调用时将 id 附加到该 URL,如下所示:myhost.com/MyAction.do?registrationId=123。您可以在 Struts 操作中访问该参数,例如 getRequest().getParameter("registrationId")
    • 您所指的getRequest()方法属于哪个类。我尝试使用下面提到的代码获取请求参数,但发现一些垃圾** Map srt= ActionContext.getContext().getParameters( );** System.out.println("H vlues os"+srt.get("id").toString());
    • @Sam 在 Struts2 中,您应该使用 ParameterAware 接口来获取查询字符串参数。这里有一个很好的例子:strutstwo.blogspot.com/2007/06/…。另请查看有关它的其他有用信息,在 Google 中搜索“struts2 parameteraware”。
    猜你喜欢
    • 2016-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-10
    • 1970-01-01
    • 2019-10-14
    • 2021-09-20
    相关资源
    最近更新 更多