Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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:从HTML/JSP获取数据时出现问题_Java_Jsp_Struts2 - Fatal编程技术网

Java Struts2:从HTML/JSP获取数据时出现问题

Java Struts2:从HTML/JSP获取数据时出现问题,java,jsp,struts2,Java,Jsp,Struts2,我有我的操作,它有一个变量HashMap 我的目标: public class MyObject { private Boolean confermata; private String idObj; private String versione; /* (getters and setters) */ } 当JSP代码段出现时: <s:hidden name="form.datiVersioneQuoteAssegnazione['%{#

我有我的操作,它有一个变量
HashMap

我的目标:

 public class MyObject {

    private Boolean confermata;

    private String idObj;

    private String versione;

    /* (getters and setters) */

 }
当JSP代码段出现时:

<s:hidden name="form.datiVersioneQuoteAssegnazione['%{#tmpIdObj}'].confermata"/>
<s:hidden name="form.datiVersioneQuoteAssegnazione['%{#tmpIdObj}'].idObj"/>
<s:hidden name="form.datiVersioneQuoteAssegnazione['%{#tmpIdObj}'].versione"/>

tmpIdObj
是另一个变量……没关系

问题:
当我从DB填充MyObject并加载JSP时,输出是正确的,但是当我将数据发送到服务器时(单击我的
中的按钮),hashmap是正确构建的。通过调试,它是一个
,但是表单中的值没有被获取,因此MyObjects对象都是空的。。。此外,我还看到MyObject的setter没有被称为。谁能告诉我为什么

我解决了。问题是我定义了一个Hashmap:

private HashMap dativersioneqoteassignane

当我将其定义为地图时,如下所示,它是有效的:

私有地图DativersionEqoteAssegnane


Struts似乎无法识别HashMaps…奇怪。

您的映射是否有setter/getter?您是否使用默认的拦截器堆栈?在myObject中是否有无参数构造函数(隐式或显式)?检查myObject是否可序列化是的,我有映射的getter和setter,它们会被调用。我有自己的堆栈,它在整个项目(很多动作)中都能完美地工作。表单是用来填充html表单的bean。MyObject实现了可序列化。@panky1986它是否可序列化并不重要。如果您使用的是实现(例如
HashMap
)而不是接口
map
,它无法确定map中元素的类型。如果需要使用
HashMap
,则可以使用
@Element
注释。请参阅我对这个问题的回答:。