List<Map<String, String>> months = new ArrayList<Map<String,
String>>();
В терминах CF этот код создает массив структур.Поскольку java строго типизирован, в коде используются универсальные средства, чтобы указать, какой тип объектов содержится в каждом из них
List< Map<...> > // Array containing structures
Map< String, String > // Structure containing "String" values
К счастью, массивы CF - это внутренние объекты java.util.List
, а структуры - объекты java.util.Map
.Таким образом, вам нужно только создать массив структур CF с правильными ключами и значениями.Затем передайте массив в template.setField(...)
.
Я не был уверен, какие ключи использовать в структуре, поэтому я скачал шаблон "test.odt" из jOpenDocument-template-1.2.zip .Выяснилось, что каждая структура должна содержать три (3) ключа, по одному для каждого столбца в таблице: name
, min
, max
.Пока вы заполняете структуры строками , это должно работать:
// Create an array of structures. Each structure represents a table row.
// The key names for columns 1-3 are: "name", "min", "max"
months = [
{name="January", min="-12", max="3"}
, {name="February", min="-8", max="5"}
, {name="March", min="-5", max="12"}
, {name="April", min="-1", max="15"}
, {name="May", min="3", max="21"}
, {name="June", min="5", max="32"}
];
// populate table rows
template.setField("months", months);