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
注释。请参阅我对这个问题的回答:。