求教:struts2如何在action中接收来自页面的List<Map<String,String>>

luckythc 发布于 2013/05/31 17:31
阅读 2K+
收藏 0

如题,jsp页面如下

...
<form action="teMan.action" method="post">
  <input name="birdate[0]['id1']" value="2001-02-05" />
  <input name="birdate[0]['id2']" value="2301-02-05" />
  <input class="button" type="submit" value="Test" />
</form>
action代码如下
public class AddUAction {
	private List<Map<String,String>> birdate;
         // 省略get、set
         public String addU() {
	  System.out.println(birdate);
	  return "ok";
	}
...

提交即报错如下

exception javax.servlet.ServletException: Filter execution threw an exception org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) root cause java.lang.NoSuchMethodError: org.apache.struts2.interceptor.StrutsConversionErrorInterceptor.escape(Ljava/lang/Object;)Ljava/lang/String; org.apache.struts2.interceptor.StrutsConversionErrorInterceptor.getOverrideExpr(StrutsConversionErrorInterceptor.java:83) com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:105) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) ...

以下是问题补充:

@luckythc:基本类型的List<String>或者Map<String,String>没问题,甚至自定义的List<Entity>或Map<String,Entity>也没问题,就是List<Map>这种组合不行 (2013/05/31 17:33)
加载中
0
布谷鸟
布谷鸟

structs不会,用el表达式,map和model通吃:

List<Map>要循环遍历吧

<c:forEach items="${list}" var="e">${e.key}</c:forEach>

0
luckythc
luckythc

搞定了,需要使用自定义转换器

阿哒
回复 @i_bobby : http://www.oschina.net/question/568769_113053?sort=time 这个问题请教下怎么处理的? 怎么写<自定义转换器>,我写了一个,怎么struts不走我的转换器? xwork里配置:java.util.List=com.more.mes.common.method.ListMapTypeConverter
i_bobby
i_bobby
你是怎么做到的我也遇到了这个问题,条件是后面的对象不能抽象成bean
0
土豆-地瓜
土豆-地瓜
双重迭代吧,以前弄过
0
地狱熔炉
地狱熔炉
楼主怎么做到的啊,说说具体的实现呗,谢了
返回顶部
顶部