如何使用s:iterator从jsp检索字段数据

如何使用s:iterator从jsp检索字段数据,jsp,struts2,loops,Jsp,Struts2,Loops,我已经创建了一个数组列表的映射,我可以用jsp打印它们。现在,我在从jsp的action类中检索更新的数据时遇到了一个问题。这是我的示例代码-- import com.opensymphony.xwork2.ActionSupport; 导入java.util.ArrayList; 导入java.util.HashMap; 导入java.util.List; 导入java.util.Map; 公共类mapTest扩展了ActionSupport{ 公共列表列表图; 公共字符串execute(){

我已经创建了一个数组列表的映射,我可以用jsp打印它们。现在,我在从jsp的action类中检索更新的数据时遇到了一个问题。这是我的示例代码--

import com.opensymphony.xwork2.ActionSupport;
导入java.util.ArrayList;
导入java.util.HashMap;
导入java.util.List;
导入java.util.Map;
公共类mapTest扩展了ActionSupport{
公共列表列表图;
公共字符串execute(){
listmap=newarraylist();
Map Map=newhashmap();
地图放置(“a”、“alpha”);
地图放置(“b”,“b”,“b”);
地图放置(“c”、“查理”);
添加(map);
Map map2=新的HashMap();
map2.put(“d”、“delta”);
map2.put(“e”、“echo”);
地图2.put(“f”,“狐步”);
添加(map2);
回归成功;
}
公共字符串updateTable(){
System.out.println(“at update table method-->”);
System.out.println(listmap.get(0.values());
}
}


在这里,我在jsp中的输出类似-->

阿尔法 b好极了 c查理 d三角洲 e回声 狐步舞
现在我将
alfa
改为
modifiedAlfa
,但我在动作类中得到了
alfa
。但是我想要
modifiedAlfa

请具体说明您在哪里更改了“modifiedAlfa”?其中一些web框架要求您在更改文件时重新加载/重建/执行任何操作。你试过了吗(还有使用ctrl+F5在浏览器上进行简单的“强制刷新”)谢谢你的朋友们的快速回复…让我告诉你我使用了“s:textfield”作为值填充。所以我可以更改值字段的值。我希望在action类中使用此修改后的值。。如果我同时更改这两个贴图,我希望在我的action类中更新这两个贴图。如果你需要进一步分类,请告诉我。。再次感谢您显示了提交值的操作类代码。用于捕获此值的变量的名称是什么。您正在使用
map.value
作为jsp中的文本字段名,因此action类需要类似的变量我试着思考我们如何做到这一点,但什么也没想到。虽然你的代码中有很多错误,但我一直在思考一些问题,但它不会work@Dave牛顿:你能提出一些建议吗?因为你是询问OGNL及其目前工作情况的最佳人选
import com.opensymphony.xwork2.ActionSupport;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

 public class mapTest extends ActionSupport {
   public List<Map> listmap;

   public String execute(){
     listmap = new ArrayList();
     Map map = new HashMap();
     map.put("a", "alpha");
     map.put("b", "bravo");
     map.put("c", "charlie");
     listmap.add(map);
     Map map2 = new HashMap();
     map2.put("d", "delta");
     map2.put("e", "echo");
     map2.put("f", "foxtrot");
     listmap.add(map2);
     return SUCCESS;
   }

   public String updateTable(){
     System.out.println("at update table method -->");
     System.out.println(listmap.get(0).values());
  }
}
<%@taglib prefix="s" uri="/struts-tags"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<form name="formName" onSubmit="updateTable">
    <body>
        <table>
                <s:iterator value="listmap" var="map">
                    <s:iterator>
                        <tr>
                            <td><s:property id="key" name="map.key"/></td>
                            <td><s:textfield id="value" name="map.value"/></td>
                        </tr>
                    </s:iterator>
                </s:iterator>
        </table>
    </body>
<table><tr><td><input type="submit"></input></td></tr></table>
</form>
</html>
a alpha b bravo c charlie d delta e echo f foxtrot