⑴ 編輯頁面數據初始化時,一條數據中的某個欄位,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後端,在用protobuf的情況下我該給前端傳什麼形式的數據
protobuf是你們落地時存儲的數據格式,跟給前端的格式是沒有關系的。
可以通過工具類直接轉json後傳給前端。
Class<?> clazz = Class.forName(className);
Method method = clazz.getMethod("parseFrom", byte[].class);
JsonFormat().printToString((GeneratedMessage) method.invoke(clazz, bytes));
其中className是你根據protobuf文件生成的java類,bytes是讀取的protobuf對象的位元組數組。
⑶ JAVA 前端大文件上傳如何實現
如果是頁面傳至後台,那麼頁面上傳文件的時候進行分片處理,如果是後台之間調用,直接代理裡面分片處理。關鍵點,當前一片傳輸完畢之後,收到成功返回才開始傳輸下一片如果傳輸失敗則重傳當前片數,超時重傳。傳輸時帶上文件唯一標識,文件當前片數,總片數,當前片數md5校驗值等。必要參數。 大致為這樣,注意不要內存泄露了。
⑷ java後台怎麼把資料庫二進制圖片傳到前台顯示
兩種思路,一種是你把圖片下下來。告訴路徑給前端。
另一種是你直接把圖片轉換成byte數組,返回給前端。前端是可以有辦法的。(我用過這種用來爬蟲爬驗證碼都是這么乾的)
望採納
⑸ java中後台向前端傳值的幾種方式
一種,放到request、session、application域裡面。
1、直接放入一個實體(基本類型)
2、放入一個集合、數組
3、放入JSON(字元串)
⑹ java ssm框架 怎樣將後台集合傳遞到前端@responsebody
java類
RequestMapping("/student")
public String search(Model m){
list = studentservice.selectList();
m.addAttribute("go",list);
return "student";
}
前台student.jsp
<c:foreach items= "${go}" var="d">
${d}
</c:foreach>
⑺ 用java怎麼實現從前端接收、處理並傳回視頻
很簡單啊,你遞歸出一個文件夾裡面的視頻類型的文件啊,(如果是web,那就是加url後面就是在項目里的文件夾啊,)然後把他們的路徑保存為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後端向前端傳值
如果能取到這三個值,你可以在後端用request來存值,request.setAttribute("變數名",值1);在前端用el表達式${變數名}就能取到,當然你既然是取值,那肯定是知道這三個值,也可以存到map中,同樣保存到域對象中,在前端用el表達式來取
⑽ java怎麼把請求轉發到另一個系統並返回給前端
兩種方式。一種是servlet的轉發或重定向跳轉頁面,並將信息攜帶過去,另一種方式是ajax請求後台介面,後台介面進行處理之後將信息返回給介面調用者。