我尝试在我的表单上实现一个带有两个选择的表单,使用 struts 2 的双选标签,其中第二个选择的内容以第一个为条件。所以上网,我找到了帖子:http ://www.mkyong.com/struts2/struts-2-sdoubleselect-example/ ,我尝试了博主建议的示例,但是当我从第一次选择,第二次选择没有改变它的价值。
因此,我已经在 mozilla 17.01 上使用 firebug 对其进行了调试,并且使用 jsp 标签 doubleselect 自动生成的 javascript 看起来不错,因为我在控制台中有任何错误。调试使用 struts 2 标记自动生成的代码,s:doubleselect,我看到选项元素被很好地删除,但可能第二个选择没有刷新。因此,例如在示例中,当页面在第一个选择中时,我有 .net 语言,在第二个 .sharp 和 .vnet 中,当第一个选择时,我选择 java、onChange、onDebugg 允许将项目更改为第二次选择被触发,旧选项被删除,新选项被创建广告插入第二次,但第二次选择的内容在页面上没有改变。
所以在链接上,我使用了最后一个例子,编程语言:
jsp表单
<form:main action="DoubleSelectAction" id="channelerForm">
<s:doubleselect label="Language (Java List) "
id= "Test1"
name="language1"
list="languageMap.keySet()"
doubleId="secondoItem"
doubleName="language2"
doubleList="languageMap.get(top)" />
</form:main>
定义动作:
public class DoubleSelectAction extends ActionSupport{
private String language1;
private String language2;
Map languageMap;
public String getLanguage1() {
return language1;
}
public void setLanguage1(String language1) {
this.language1 = language1;
}
public String getLanguage2() {
return language2;
}
public void setLanguage2(String language2) {
this.language2 = language2;
}
public Map getLanguageMap() {
return languageMap;
}
public void setLanguageMap(Map languageMap) {
this.languageMap = languageMap;
}
public DoubleSelectAction(){
languageMap =new HashMap();
languageMap.put("Java",
new ArrayList<String>(Arrays.asList("Spring", "Hibernate", "Struts 2")));
languageMap.put(".Net", new ArrayList<String>(Arrays.asList("VB.Net", "C#")));
languageMap.put("JavaScript", new ArrayList<String>(Arrays.asList("jQuery")));
}
public String execute() {
return SUCCESS;
}
public String display() {
return NONE;
}}
所以我想知道是否有人遇到过同样的问题,
谢谢你的时间。