① 编辑页面数据初始化时,一条数据中的某个字段,java后台怎么返回给前端数组
spring方式
packagecom.learn;
importlombok.extern.log4j.Log4j2;
importorg.springframework.boot.SpringApplication;
importorg.springframework.boot.autoconfigure.SpringBootApplication;
importorg.springframework.boot.web.servlet.ServletRegistrationBean;
importorg.springframework.context.annotation.Bean;
importorg.springframework.stereotype.Controller;
importorg.springframework.web.bind.annotation.GetMapping;
importorg.springframework.web.bind.annotation.Mapping;
importorg.springframework.web.bind.annotation.RestController;
importjava.util.*;
@SpringBootApplication
@Log4j2
@RestController
{
publicstaticvoidmain(String[]args){
SpringApplication.run(LearnConcurrencyApplication.class,args);
}
@GetMapping("/")
publicStringtest(){
log.warn("Receiverequest.");
return"test";
}
@GetMapping("/a")
publicMap<String,Object>getA(){
StudentInfoinfo=newStudentInfo();
//方式1,假设字段a是字符串
//info.setA("1,2,3,4,5,6");
//Map<String,Object>result=newHashMap<>();
//result.put("A",Arrays.asList(info.getA().split(",")));
//returnresult;
//假设A是list
List<String>list=Arrays.asList("1,2,3,4,5,6".split(","));
info.setA1(list);
Map<String,Object>result=newHashMap<>();
result.put("A",info.getA1());
returnresult;
}
@Bean
(){
=newServletRegistrationBean();
servletRegistrationBean.addUrlMappings("/sa");
servletRegistrationBean.setServlet(newMyServlet());
returnservletRegistrationBean;
}
}
servlet方式,注意依赖jackson,jar包
packagecom.learn;
importcom.fasterxml.jackson.databind.ObjectMapper;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importjava.io.IOException;
importjava.util.Arrays;
importjava.util.HashMap;
importjava.util.List;
importjava.util.Map;
/**
*@authorlixiaosuo
*@since2019-04-1210:05
*/
{
@Override
protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{
StudentInfoinfo=newStudentInfo();
List<String>list=Arrays.asList("1,2,3,4,5,6".split(","));
info.setA1(list);
Map<String,Object>result=newHashMap<>();
result.put("A",info.getA1());
//依赖jackson
ObjectMappermapper=newObjectMapper();
Stringjson=mapper.writeValueAsString(result);
resp.setContentType("application/json;charset=utf-8");
resp.setCharacterEncoding("utf-8");
resp.getWriter().write(json);
resp.getWriter().flush();
resp.getWriter().close();
}
}
辅助类
packagecom.learn;
importjava.util.List;
/**
*@authorlixiaosuo
*@since2019-04-1209:46
*/
publicclassStudentInfo{
publicStringa;
publicList<String>a1;
publicStringgetA(){
returna;
}
publicvoidsetA(Stringa){
this.a=a;
}
publicList<String>getA1(){
returna1;
}
publicvoidsetA1(List<String>a1){
this.a1=a1;
}
}
spring实现,输出结果:
② java 怎样把查询多张表的数据返回给前端用map集合吗
这两张表有关联吗,如果有可以连表查询,这样数据就到一起了
如果没有关联就分开查询,把数据封装成一个自定义类(DTO,VO)传给前端,用map也可以,不推荐
③ Java怎么将后台运行结果输出在前端页面中idea
idea只是java编程工具,如果使用springmvc框架,java后台查询出结果只需要返回给前端json数据库就行,前端利用js操作得到的json数据显示到网页上面。
④ Java怎么查询出数据库当前月份的数据并返回给前端
你是想做到JSP页面不加入<%%>这种小脚本吧
那可以采用EL表达式,或者一些框架的输出方式,通常用EL就可以了,因为EL就是用来运算和表达的。后台获取数据以后,这个数据可以是一个简单类型,也可以是一个对象,如果是同一个请求下的,也就是request对象没有变,那么可以用这个存储,否则要用session存储,存储数据的对象是JSP内置的对象,有page,request,session,application等,每个对象都能存储数据,但是作用于不同,page针对当前页面,request针对一个请求,session针对一个会话,application针对整个应用程序。 通常session就可以了。 比如后台获取一个String的name值,那么你可以session.setAttribute("name",name); 那么JSP直接可以EL这样写:${sessionScope.name} 获取这个值,这里的name是后台封装的键的名,不是后面变量name的名。
⑤ java怎么把请求转发到另一个系统并返回给前端
两种方式。一种是servlet的转发或重定向跳转页面,并将信息携带过去,另一种方式是ajax请求后台接口,后台接口进行处理之后将信息返回给接口调用者。