基于jsp Struts中的另一个下拉列表的下拉列表

时间:2015-02-22 20:57:21

标签: javascript jquery ajax jsp struts-1

我对Ajax很新。目前我正在开展一个新项目。对于该项目,其中一个要求是,根据第一个下拉列表中的输入填充第二个下拉列表。我使用Struts来做到这一点。我不希望页面被刷新,所以我需要使用Ajax来调用后端的第二个下拉内容并填入第二个下拉列表。我不知道如何为此编写代码。

我的struts项目中应该包含哪些内容(jar,tags)? 我的JSP中应该有哪些条目(我正在使用<html:select>)? JavaScript中会有什么? 动作类中会出现什么(在动作类中,我可以根据第一个下拉列表中的选择从DB中获取列表值)?

2 个答案:

答案 0 :(得分:1)

而不是ajax,我只使用struts来实现这一点。我已经将所有变量分配给表单,以便在提交表单时保留值。

答案 1 :(得分:0)

这个问题的答案可能是一篇论文;) 我会在这里指导你。

1]使用像jquery这样的javascript框架。它将帮助您对控制器URL进行ajax调用 查看http://www.tutorialspoint.com/jquery/jquery-ajax.htm

上的简单教程

2]对于控制器,我们可以映射两个URL:

  • urapp / poplateDropdown1到控制器,它首先返回值/列表目标
  • urapp / poplateDropdown2指向另一个控制器(或同一控制器内的方法),它响应GET请求并接收所选值的参数名称SEL_VALUE。

3] onchange事件。 即使在您的第一个下拉列表中也有最佳或类似的最佳选择。 在你的事件中调用一个js函数;像<select onchange=callDropDown2Controller(this.value) > 在你的callDropDown2Controller()方法中:

//pseudo implementation
callDropDown2Controller(var selectedValue){

// now generate an AJAX get request using jquery with the following url 
urlToCall =  '/urapp/poplateDropdown2?SEL_VALUE=' + selectedValue

}

其他伙伴你需要做一些家庭作业和研究。