我想调用JasperFillManager.fillReport(filePath +“。jasper”,param,con); param应该接受类型Map。有没有什么解决办法如何将HashMap <String,Integer> param转换为Map <String,Object)
2
A
回答
1
只需使用构造采取其他地图作为参数:
Map<String, Object> map2 = new HashMap<String, Object>(map);
见这个例子:
import java.util.HashMap;
import java.util.Map;
public class Test5 {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<String, Integer>();
map.put("1", 1);
Map<String, Object> map2 = new HashMap<String, Object>(map);
// etc...
}
}
1
如果你有HashMap<String,Integer>
,你需要将其转换为HashMap<String,Object>
,那么下面应该工作:
HashMap<String, Object> objParams = new HashMap<String, Object>();
for (String key : intParams.keyValues()) {
Integer intValue = intParams.get(key);
objParams.put(key, intValue);
}
凡intParams
是你HashMap<String,Integer>
。
在那里可能有一些错别字,因为这纯粹是从袖口。您可以将objParams
传递给fillReport
。
+0
在迭代Map时,考虑迭代entrySet()而不是keySet()。它更加高效,因为它不需要每次对键的hashCode()和equals()方法进行评估以找到相应的值。 – 2012-05-03 19:23:12
0
如果您没有在HashMap中指定值类型,Java会隐式给它一种对象类型。 在这种情况下,您只需要声明原始地图为
HashMap objParams = new HashMap();
0
你的java文件
String url="jdbc:mysql://127.0.0.1:3306/database";
String username="root";
String password="";
String database="database";
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection(url, username, password);
JasperReport jc=JasperCompileManager.compileReport("F:\\pro\\report.jrxml"); //give your report.jrxml file path
//create hashmap to send data to report.key should same to report parameter
HashMap para = new HashMap();
para .put("name", "chamod");
para .put("email", "[email protected]");
JasperPrint print = JasperFillManager.fillReport(jc,para,new JREmptyDataSource());
JasperViewer.viewReport(print);
con.close();
你report.jrxml文件中的文本字段应该是这样的
<textFieldExpression class="java.lang.String"><![CDATA[$P{name}]]></textFieldExpression>
<textFieldExpression class="java.lang.String"><![CDATA[$P{email}]]></textFieldExpression>
相关问题
- 1. Map <String,Map <String,Boolean >> myMap = new HashMap <String,HashMap <String,Boolean >>();
- 2. 无法从列表<map <string,object >>转换为列表<map <string,string >>
- 3. 从List <Map <String,Object >>创建HashMap <String,Map>给出java.lang.ClassCastException
- 4. 如何正确联合HashMap <String,ArrayList <Object>>和HashMap <String,Object>
- 5. 为什么我们必须将HashMap <String,Object>转换为HashMap <String,Object> .toMap
- 6. Android将ArrayList <HashMap <String,String >> mylist转换为stringarray
- 7. 转换List <HashMap <String,String >>到列表<map <String,String >> java
- 8. For-Each Loop,Map <String,Map <String,List <String> >>
- 9. 如何将Json字符串转换为List <HashMap <String,String >>?
- 10. 如何将List [List [Map [String,String]]]转换为List [Map [String,String]]
- 11. List <Map <String,String >> vs List <Object>
- 12. 如何将Map <String,String>转换为Map <Long,String>使用番石榴
- 13. Sort Map <String,List <Object[]>>
- 14. Hibernate如何映射Map <Object,String>
- 15. 如何使用相同的递归函数迭代Map <String,String>和Map <String,Map <String,String >>?
- 16. Javapoet - TypeName - HashMap <String,HashMap <String,List <String> >> generation?
- 17. C#将列表<string>转换为字典<string,string>
- 18. 将List <Map <String,Object >> row`的null转换为空字符串
- 19. 为什么HashMap <String,Object>不接受HashMap <String,List>实例?
- 20. 如何声明HashMap <String,ArrayList <ArrayList <String> >>?
- 21. 如何将String []转换为IDictionary <String,String>?
- 22. 演员表<Object> to List <Map <String,Object >>
- 23. C#将Dictionary <string,AnyType>转换为Dictionary <string,Object>(涉及反射)
- 24. HashMap <String,String> temp = new HashMap <String,String>();对于通图像
- 25. Swagger:<string,Object>
- 26. Post Map <String,List <String>>
- 27. 如何为Map <String,List <Object>>和MultivaluedMap <String,Object>定义一个通用方法?
- 28. 如何将IDictionary <object,string>转换为Unity中的ParseObject?
- 29. 如何将动态Date值设置为Map <String,Object>?
- 30. 如何在JAVA中将JAVAScript对象转换为Map <String,String>?
你可以更具体地说明你正在尝试做什么,哪些不起作用?你是否创建了一个你想传递给'fillReport'的'HashMap? –
DuncanKinnear
2012-04-30 23:19:08