Map 是否可以从JSP插入不同的java.lang.Objects<;表格>;进入Struts2的地图?

Map 是否可以从JSP插入不同的java.lang.Objects<;表格>;进入Struts2的地图?,map,struts2,typeconverter,Map,Struts2,Typeconverter,Struts2默认将java.lang.Strings插入到映射中,但是。。。是否有方法覆盖某些参数的行为,并使用许多自定义类型转换器插入不同的对象 例如,在Java类中,我们可以声明一个HashMap并放置如下内容: myHashMap.put(“name”,”myName”); //this is a String myHashMap.put(“id”,new Integer(“101”)); //this is an Integer myHashMap.put(“date”,java

Struts2默认将
java.lang.Strings
插入到映射中,但是。。。是否有方法覆盖某些参数的行为,并使用许多自定义类型转换器插入不同的对象

例如,在Java类中,我们可以声明一个HashMap并放置如下内容:

myHashMap.put(“name”,”myName”);    //this is a String
myHashMap.put(“id”,new Integer(“101”)); //this is an Integer
myHashMap.put(“date”,java.util.Calendar.getInstance().getTime()); //this is a Date
是否可以使用类型转换器直接从
分配正确的
java.lang.Object

如果您的
中有类似的内容:

它不起作用。。。然后我也试着这样做:

myHashMap['date']=app.converter.MyDateConverter     # (didn't work)
myHashMap.date=app.converter.MyDateConverter     # (didn't work)
根本不调用转换器!我有“MyDateConverter”类,它运行良好。如果我使用一个POJO(而不是HashMap),并在POJO中为“name”、“id”和“date”创建setter和getter,效果会很好。但问题是,我想使用更通用的东西,比如HashMap,以便更改表单中参数的名称或添加更多参数,而无需创建另一个POJO


目前,如果希望只接收字符串,那么它可以使用HashMap工作,但我不知道如何调用类型转换器来接收自定义对象。转换器没有被调用,我总是以字符串结束

值得怀疑,如果可以,就不要怀疑。这样做需要使用原始映射和强制转换来检索值。类型安全是你的朋友

但问题是,我想使用更通用的东西,比如HashMap,以便更改表单中参数的名称或添加更多参数,而无需创建另一个POJO


这不是一个更好的设计。坚持POJO方法。

struts2可以从字符串转换java.util.Date,而无需对转换器进行编码。事实上,“date”是字符串类型,struts不能通过它的内容而是类型来找到它

date=app.converter.MyDateConverter
myHashMap['date']=app.converter.MyDateConverter     # (didn't work)
myHashMap.date=app.converter.MyDateConverter     # (didn't work)