首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用struts2 jquery插件填充select标记

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

Stack Overflow用户
提问于 2013-10-20 04:14:33
回答 1查看 2.2K关注 0票数 0

我有一个jsp,它包含一个struts2-jquery-plugin select标记,它通过发送如下ajax请求来动态加载其数据:

代码语言:javascript
复制
<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"/>

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

代码语言:javascript
复制
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";
}

在我的struts.xml中,对应于动作providerList,如果我将结果类型指定为dispatcher,那么它将把控制权交给jsp。我只想让列表pList到达select标签的下拉列表。

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

EN

回答 1

Stack Overflow用户

发布于 2013-10-21 04:56:02

首先,如果您依赖JSON标记,那么就没有其他解决方案了。

为了使sj:select标记起作用,必须从sj:select中删除以下代码

代码语言:javascript
复制
 listKey="myKey"
 listValue="myValue"

因为,您从action发送的是一个字符串列表,但在JSP中,由于上述两个属性,它需要一个map或一个bean。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19470657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档