Здравствуйте.
Что я хочу: Пользователь загружает файл с данными и по этим данным строится график.
Как реализовать подобное?
уперся в то что не могу в метод где нужно заполнять график передать данные от пользователя
графики планирую рисовать с помощью Google Charts
Сергей Горностаев, данные для графика должны заполняться в методе который получает на вход Query из JS со страницы.
Изначально я планировал читать данные из файла в объект и потом передать этот объект с данными в метод, но как понял это не совсем правильно и врядли вообще возможно.
RederR, не помню в Java такого типа данных как Query. Просто принимаете файл в методе контроллера, открываете его, читаете, формируете из него List, Map или другую удобную структуру данных, а потом передаёте её аргументом нужному методу.
RederR, а я всё никак не могу понять, что в этом сложного
public void makeChart(List<SomeClass> data) {
...
}
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public String uploadFile(@RequestParam("file") MultipartFile file, Model model) {
List<SomeClass> data = new ArrayList<>();
// Парсим файл в data
...
makeChart(data);
...
}
Естественно, определения методов зависят от логики вашей программы и могут отличаться.
public class DataServlet extends DataSourceServlet {
public DataTable makeChart(Query q, HttpServletRequest req) {
// здесь нужно как то получить заполненный list
...
return data;
} }
@Controller
public class FileUploadController {
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public String uploadFile(@RequestParam("file") MultipartFile file, Model model) {
List<SomeClass> data = new ArrayList<>();
// Парсим файл в data
}
}
var query = new google.visualization.Query('makeChart'); // это JS который должен получить DataTable из makeChart, как я понимаю