Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用struts2 jquery插件填充select标记_Java_Ajax_Jsp_Struts2_Struts2 Jquery - Fatal编程技术网

Java 使用struts2 jquery插件填充select标记

Java 使用struts2 jquery插件填充select标记,java,ajax,jsp,struts2,struts2-jquery,Java,Ajax,Jsp,Struts2,Struts2 Jquery,我有一个jsp,其中包含一个struts2 jquery插件选择标记,该标记通过发送ajax请求动态加载其数据,如下所示: <s:url var="remoteurl" action="providerList"/> <sj:select href="%{remoteurl}" id="provider" name="language" list="pList" li

我有一个jsp,其中包含一个struts2 jquery插件选择标记,该标记通过发送ajax请求动态加载其数据,如下所示:

<s:url var="remoteurl" action="providerList"/>
<sj:select href="%{remoteurl}" id="provider" name="language"
                            list="pList"
                            listKey="myKey"
                            listValue="myValue"
                            emptyOption="true"
                            headerKey="-1"
                            headerValue="Select" label="Provider"/>
ArrayList<String> pList=new ArrayList<String>(); 
public ArrayList<String> getpList() {
    return pList;
}
public void setpList(ArrayList<String> pList) {
    this.pList = pList;
}
public String providerList() {
    pList.add("ASC");
    pList.add("asas");
    pList.add("asasasas");
    return "returnedList";
}

现在,当发出ajax请求时,控制转到操作代码,如下所示:

<s:url var="remoteurl" action="providerList"/>
<sj:select href="%{remoteurl}" id="provider" name="language"
                            list="pList"
                            listKey="myKey"
                            listValue="myValue"
                            emptyOption="true"
                            headerKey="-1"
                            headerValue="Select" label="Provider"/>
ArrayList<String> pList=new ArrayList<String>(); 
public ArrayList<String> getpList() {
    return pList;
}
public void setpList(ArrayList<String> pList) {
    this.pList = pList;
}
public String providerList() {
    pList.add("ASC");
    pList.add("asas");
    pList.add("asasasas");
    return "returnedList";
}
ArrayList pList=new ArrayList();
公共数组列表getpList(){
返回层;
}
公共无效集合列表(ArrayList pList){
this.pList=pList;
}
公共字符串提供程序列表(){
pList.添加(“ASC”);
pList.添加(“asas”);
pList.添加(“asasasas”);
返回“returnedList”;
}
在我的struts.xml中,与action providerList相对应,如果我将结果类型指定为dispatcher,那么它将控制权转移到jsp。我希望的是让列表pList到达select标签的下拉列表


现在的问题是,我希望我的select标记填充这个pList值。如何在struts.xml文件中配置此providerList操作。或者,我也需要对我的操作方法、返回类型或任何内容进行任何更改。据我所知,我可以使用json作为返回类型。除了json还有其他解决方案吗?

首先,如果您依赖于该标记,那么除了json没有其他解决方案

要使
sj:select
标记正常工作,必须从
sj:select

 listKey="myKey"
 listValue="myValue"
因为,您从action发送的是一个字符串列表,但在JSP中,由于上述两个属性,它需要一个映射或bean


在struts.xml中,您必须将结果类型配置为json,为此,我们必须将其包含在项目中。

先生,您能否提供struts.xml配置代码。我尝试了很多事情,但都没能实现。事实上,我对网络开发还不熟悉。这只是我的第一个应用。我使用maven!但这里有一些老例子-