Вы можете использовать javascript для динамического создания индексированных входов для post back. В качестве примера создайте фиктивный набор входов, которые клонируются и отображаются, когда вы нажимаете кнопку «добавить домашнее животное» (предполагается, что свойства Pet отображаются в таблице с id = «Pets»)
<div id="NewPet" style="display:none">
<tr>
<td><input type="text" name="Pets[#].Type value /></td>
<td><input type="text" name="Pets[#].Breed value /></td>
<td>.....</td> // more properties of Pet
<td><input type="hidden" name="Pets[#].Index" value ="%"/></td>
</tr>
</div>
Примечание. использование указателя-указателя, чтобы предотвратить его отправку назад
И скрипт
$('#AddButton').click(function() {
var index = (new Date()).getTime();
var clone = $('#NewPet').clone();
// Update the index of the clone
clone.html($(clone).html().replace(/\[#\]/g, '[' + index + ']'));
clone.html($(clone).html().replace(/"%"/g, '"' + index + '"'));
$('#Pets tbody').append(clone.html());
}
classloader.getResource(..)
возвращает URL
, поэтому просто примените getText("UTF-8")
к URL
:
String content = classloader.getResource("datasource/${name}.txt")?.getText("UTF-8")
или:
String content = classloader.getResourceAsStream("datasource/${name}.txt")?.getText("UTF-8")