Я использую Spring mvc и хочу, чтобы веб-приложение, отправляющее некоторые json-данные клиенту и клиенту, должно визуализировать их с помощью js.
У меня есть несколько вопросов:
1-Мой проект имеет некоторый *.html файл *.jsp, как я могу обрабатывать оба без web.xml. код, который я написал, отлично работает с *.jsp, но дает "Запрошенный ресурс недоступен". ошибка для отображения html файлов.
2-Как я сказал, My service должен отправить список объектов в json-форме клиенту, когда я хочу проанализировать строку json на сервере в файле *.jsp с кодом типа
MyClass data = new Gson().fromJson(MyList.get(0).toString(), listType)
мне приходится сталкиваться со многими проблемами, поэтому я решаю сделать это задание на стороне клиента в файле *.html, я хочу знать, как мне обрабатывать это синтаксическое задание, когда я не хочу, чтобы этот клиент знал о структура моего класса? ИЛИ PLZ сказать, если нужно поделиться моим классом с клиентом, как я должен отправить его в html файл?
3-Как мне получить доступ к данным, которые я создал в файле restapi.jsp в файле UserSideApp.html?
это некоторые мои файлы:
AppInitializer.java
public class AppInitializer implements WebApplicationInitializer {
public void onStartup(ServletContext container) throws ServletException {
AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
ctx.register(AppConfig.class);
ctx.setServletContext(container);
ServletRegistration.Dynamic servlet = container.addServlet(
"dispatcher", new DispatcherServlet(ctx));
servlet.setLoadOnStartup(1);
servlet.addMapping("/");
} }
AppConfig.java
public class AppConfig {
@Bean
public ViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setViewClass(JstlView.class);
viewResolver.setPrefix("/WEB-INF/views/");
viewResolver.setSuffix("");
return viewResolver;
} }
часть моего AppContoller.java
@Controller
@RequestMapping("/")
public class AppController {
@Autowired
HackDataService service;
@RequestMapping(value = "/restapi", method = RequestMethod.GET)
public String jsonAPI(ModelMap model) {
List<HackData> newList = service.findAllNewData();
ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
String json="";
try {
json = ow.writeValueAsString(newList);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
model.addAttribute("List", json);
String newjson = new Gson().toJson(newList);
model.addAttribute("newList", newjson);
return "newTest.jsp";
}
@RequestMapping(value = "/app", method = RequestMethod.GET)
public String htmlapp() {
return "UserSideApp.html";
} }
и мои файлы .html и .jsp находятся в разделе "/WEB-INF/views/"