restTemplate返回list接收不到

如下,我要返回这个list,但是客户端接收不到

@RequestMapping(value = "getHouseList",method = RequestMethod.POST)
    @ResponseBody
    public List getHouseList(HttpServletRequest request) {
        //封装结果集
        HashMap<Object, Object> resultMap = Maps.newHashMap();
        ArrayList<Object> list = Lists.newArrayList();
        PageInfo<Project> pageInfo = new PageInfo<Project>();
        pageInfo.setPageSize(Integer.MAX_VALUE);
        pageInfo = this.projectService.list(pageInfo);
        List<Project> projectList = pageInfo.getResult();
        if(projectList!=null&&projectList.size()!=0){
            for (Project project : projectList) {
                List<String> builds = this.houseService.builds(project.getId());
                resultMap.put(project.getId(),builds);
            }
        }
        list.add(projectList);
        list.add(resultMap);
        return list;
    }

客户端请求如下: 返回的size=0 这是为什么?

 HttpHeaders headers = new HttpHeaders();
        MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
        headers.setContentType(type);
        headers.add("Accept", MediaType.APPLICATION_JSON.toString());
        HttpEntity<String> formEntity = new HttpEntity<String>( headers);
        List list = restTemplate.postForObject(url, formEntity, List.class);
        System.out.println(list.size());

3个回答

AdminC
青山· 不起作用, 我想应该是返回的list的问题 不确定这样写能不能返回
3 个月之前 回复

是不是返回类型和接收的不匹配?预期结果集是list吗

可以使用JSON,接收的时候转JSON,JSON字符串比起用restTemplate自己去转list更靠谱点吧

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
restTemplate能否传递list集合?
如下,我想要直接传递list过去 然后在客户端处理list ``` RestTemplate restTemplate = new RestTemplate(); for (ScanFamily scanFamily : scanFamilyList) { String requestWebUrl = url; //获取档案列表 List<ArchiveFile> archiveFileList = this.archiveFileManager.searchList(scanFamily.getFamilyNo()); //TODO 直接传递list MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<String, Object>(); paramMap.add("archiveFileList",archiveFileList); String s = restTemplate.postForObject(requestWebUrl, paramMap, String.class); ``` 但是它会一直报错: ``` org.springframework.http.converter.HttpMessageNotWritableException: Could not write request: no suitable HttpMessageConverter found for request type [java.util.ArrayList] at org.springframework.http.converter.FormHttpMessageConverter.writePart(FormHttpMessageConverter.java:292) at org.springframework.http.converter.FormHttpMessageConverter.writeParts(FormHttpMessageConverter.java:252) at org.springframework.http.converter.FormHttpMessageConverter.writeMultipart(FormHttpMessageConverter.java:242) at org.springframework.http.converter.FormHttpMessageConverter.write(FormHttpMessageConverter.java:194) at org.springframework.http.converter.FormHttpMessageConverter.write(FormHttpMessageConverter.java:1) at org.springframework.web.client.RestTemplate$HttpEntityRequestCallback.doWithRequest(RestTemplate.java:588) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:436) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:401) at org.springframework.web.client.RestTemplate.postForObject(RestTemplate.java:279) ```
java8,如何根据条件合并两个List<HashMap>
假设两个List<HashMap> map1和List<HashMap> map2, map1的key有key1,key2,key3,key4,key5, map2有key1,key2,key6,key7,key8, 现需要以key1和key2为依据,若两者相等则将map1和map2中的元素合并为新的List<HashMap> map3, java8中是如何实现的?
C++ 中map类型为什么不能直接insert一个initializer_list?
> 想做一个函数,能直接接收成绩,然后生成一个map类型 > 例如:函数中接收{ {"englist",100},{"math",100} }参数,然后在map中直接插入 但是在编写函数的时候遇到了一些比较困惑的问题 ![图片说明](https://img-ask.csdn.net/upload/202001/01/1577856654_225553.jpg) 有如下几个疑惑 1. 为什么map类型能直接插入一个和initializer_list一样结构的参数,却不能直接插入一个initializer_list类型? 2. 为什么map类型的key不能是引用 3. 请问map类型如何正确高效地接收initializer_list参数呢,像我下面写的那样把pair一个一个地插入到map中吗? 小白提前谢谢各位!求指教
jpa原生sql查询getresultlist返回list查询不到结果
daoImpl类继承JpaBaseDaoImpl实现dao接口 方法返回类型是List,如果没有prodCode这个参数进来做条件,查询是正常的,有就查不到数据。sql在数据库是能查到数据的。请大神帮忙看看,万分感激! 下面直接上图![图片说明](https://img-ask.csdn.net/upload/201709/13/1505299119_914570.png)![图片说明](https://img-ask.csdn.net/upload/201709/13/1505299138_82165.png) PROD_CODE的在实体类和qo类中是String,表中是varchar15
请教关于Redis缓存Java的List问题?
假设我有个List<User>这样的list,我是直接把list序列化成字符串存进redis更好,还是存user的id集合List<String>然后取出来序列化之后再单个根据id去redis取更好?主要想知道哪个效率会更高,还是具体会和多少条数据实体类的属性有关系?
flutter中扫描WiFi的问题,为什么用wifi_configuration.dart的package去扫描会出现get到的值为空?请问是什么情况?
flutter: import 'package:wifi_configuration/wifi_configuration.dart'; 调用这个package去扫描WiFi,扫描到的结果为空, void getConnectionState() async { var listAvailableWifi = await WifiConfiguration.getWifiList(); var listWifi = listAvailableWifi.toString(); print("get wifi list : " + listAvailableWifi.toString()); print(listWifi.contains("Nebula")); print(listAvailableWifi.length); } 结果如下 I/flutter (20369): get wifi list : [] I/flutter (20369): false I/flutter (20369): 0 I/flutter (20369): 请问是什么情况
在spring mvc 中使用@ResponseBody将对象封装为json发送给前端,前端接并提取在页面时候变成了undefined,是不是版本或者什么原因?
spring mvc 中Controller的代码 ``` package cn.sxt.conntroller; import java.util.ArrayList; import java.util.List; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class JsonConntroller { @RequestMapping("/json") @ResponseBody public List<User> json(){ List<User> list = new ArrayList(); list.add(new User("jake", 10, "man")); list.add(new User("nico", 10, "woman")); list.add(new User("joker", 10, "man")); return list; } } ``` index.jsp代码 ``` <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Insert title here</title> <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript"> $(function(){ $("#b").click(function(){ $.post("json.do",function(data){ var html=""; for(var i = 0;i<data.length;i++){ html+="<tr><td>"+data[i].name+"</td><td>"+data[i].age+"</td><td>"+data[i].sex+"</td></tr>" } $("#content").html(html); }); }); }); </script> </head> <body> <input type="button" id="b" value="获取信息"> <table width="80%" align="center"> <tr> <td>name</td> <td>age</td> <td>sex</td> </tr> <tbody id="content"></tbody> </table> </body> </html> ``` 在浏览器上面的展示图 ![图片说明](https://img-ask.csdn.net/upload/202001/13/1578907341_150073.png) 导入的jar包和jswen'jian jackson-annotations-2.9.9.jar jackson-core-2.9.9.jar jackson-databind-2.9.9.jar jquery-3.4.1.min.js
从activity返回到fragment时listview不显示
Fragment代码如下: ``` public class TodolistFragment extends Fragment { private List<Todo> todos = new ArrayList<>(); //NotificationManager notificationManager; SimpleAdapter adapter; ListView listView; View view; Button button; private int uid; private String date; @Override public void onAttach(Context context) { super.onAttach(context); uid = ((HomePage)context).user_id; date = ((HomePage)context).date; //buttonClickListener = (OnItemButtonClickListener) context; } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); button = (Button)getActivity().findViewById(R.id.add_list); button.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ showDialog(); } }); LocalBroadcastManager broadcastManager = LocalBroadcastManager.getInstance(getActivity()); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction("android.intent.action.CART_BROADCAST"); BroadcastReceiver mItemViewListClickReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String msg = intent.getStringExtra("data"); if("refresh".equals(msg)) init(); } }; broadcastManager.registerReceiver(mItemViewListClickReceiver, intentFilter); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { view = inflater.inflate(R.layout.activity_todolist_fragment, container, false); init(); listView = (ListView)view.findViewById(R.id.list); return view; } /*public interface OnItemButtonClickListener{ void onItemViewClick(View v); }*/ @Override public void onResume(){ System.out.println("todolist onresume!"); super.onResume(); //init(); } private void init(){ listView = (ListView)view.findViewById(R.id.list); MySqliteDB mydb = new MySqliteDB(view.getContext(),"MyDB", null, 1); SQLiteDatabase db = mydb.getReadableDatabase(); Cursor cursor; cursor = db.query("todolist",new String[]{"list_id","title","total_time","complete_time"},"user_id="+uid,null,null,null,null); ArrayList<Map<String, String>> list = new ArrayList<Map<String, String>>(); while (cursor.moveToNext()) { //数据存入map Map<String, String> map = new HashMap<String, String>(); final int t = cursor.getInt(cursor.getColumnIndex("total_time"))-cursor.getInt(cursor.getColumnIndex("complete_time")); if(t > 0) { final int list_id = cursor.getInt(cursor.getColumnIndex("list_id")); map.put("title", cursor.getString(cursor.getColumnIndex("title"))); map.put("time", t + "分钟"); //map添加到集合list中 list.add(map); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Intent intent = new Intent(); Bundle bundle = new Bundle(); bundle.putInt("list_id", list_id); bundle.putInt("user_id", uid); bundle.putInt("time", t); bundle.putString("date", date); intent.putExtras(bundle); intent.setClass(getActivity(), Timing.class); getActivity().startActivity(intent); } }); } } adapter=new SimpleAdapter(getContext(),list,R.layout.todolist_item, new String[]{"title","time"},new int[]{R.id.todolist_title,R.id.todolist_time}); listView.setAdapter(adapter); } private void showDialog() { //此处省略了 } } ```
为什么用handler接收不到list对象
这是错误提示: at android.os.Handler.handleCallback(Handler.java:615) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:153) at android.app.ActivityThread.main(ActivityTh 这是代码: ```private Handler listHandler = new Handler() { public void handleMessage(Message msg) { List<Map<String, String>> result = (List<Map<String, String>>) msg.obj; switch (msg.what) { case AutoListView.REFRESH: lv_wanzheng.onRefreshComplete(); //listCount.clear(); listCount.addAll(result); break; case AutoListView.LOAD: lv_wanzheng.onLoadComplete(); listCount.addAll(result); break; } lv_wanzheng.setResultSize(result.size()); wanzhengAdapter.notifyDataSetChanged(); }; }; new Thread(new Runnable() { @Override public void run() { Message msg = new Message(); msg.what = whatNum; msg.obj = getData(); listHandler.sendMessage(msg); } }).start(); private List<Map<String, String>> getData() { JsonMessage jm = new JsonMessage(); String[] title = jm.getTitle(); String[] time = jm.getTime(); String[] image1 = jm.getimage1(); String[] image2 = jm.getimage2(); String[] url = jm.getUrl(); List<Map<String, String>> listdata = new ArrayList<Map<String, String>>(); for (int i = 0; i < image1.length; i++) { Map<String, String> map = new HashMap<String, String>(); map.put("title", title[i]); map.put("time", time[i]); map.put("image1", image1[i]); map.put("image2", image2[i]); map.put("url", url[i]); listdata.add(map); } return listdata; } ```
List Operations 的设计的问题
Problem Description A list is a sequence of zero or more elements, expressed in this form: [a1, a2, a3, ... , an], where each ai is one or more consecutive digits or lowercase letters. i.e. each list begins with a left square bracket, then zero or more elements separated by a single comma, followed by a right square bracket. There will be no whitespace characters (spaces, TABs etc) within a list. In this problem, we use two list operations: append (++) and remove (--). 1. A ++ B: append elements in B to the end of A. 2. A -- B: remove all the elements in B, from A. If something appears more than once in B, remove it that many times in A. If there are many equal elements in A to choose from, remove them from left to right (until all occurrences are removed, or there is no need to remove more elements). Your task is to write a calculator, evaluating simple expressions or the form “list1 ++ list2” or “list1 -- list2”. Input There will be at most 10 expressions, one in each line, each having the form “list1 ++ list2” or “list1 -- list2”, with no more than 80 characters in total (not counting the newline character). There will be exactly two spaces in each line: one before and one after the operator. Input ends with a single dot. The input is guaranteed to satisfy the restrictions stated above Output For each expression, print its result on a single line. Sample Input [1,2,3] ++ [1,2,3] [a,b,c,t,d,e,t,x,y,t] -- [t] [a,b,c,t,d,e,t,x,y,t] -- [t,t,t,t] [123] ++ [456] . Sample Output [1,2,3,1,2,3] [a,b,c,d,e,t,x,y,t] [a,b,c,d,e,x,y] [123,456] 4
安全检查工具 查出 不安全的反序列化
用Spring的RestTemplate 把一个List的集合用JSON的形式,送信 在接收端的代码 查出 不安全的反序列化 请问是什么原因?
求助:python copy文件路径空格问题
copy文件的时候从txt中获取路径,然后复制到新地址。 但是因为路径中有空格问题,导致总是提示“文件不存在”等路径不合法的问题 如果是直接copy(绝对路径1,绝对路径2)因为绝对路径1是被“”起来的,所以没问题的 而且不管是'/'还是'\\'也是都没问题的 所以唯一的问题就是传递的路径中空格问题应该怎么解决掉 for lines in infilepath.readlines(): # 以下两行代码是因为txt文件中保存的路径后有state状态,故进行分割合并 file_list = lines.split(':', 2) filepath = file_list[0] + ':' + file_list[1] countsum += 1 if file_list[2] == '1\n': countyes += 1 else: countno += 1 # filepath = chr(34) and filepath and chr(34) if os.path.exists(filepath): print('file copy success→' + filepath) shutil.copy(filepath, 'D:/建筑图纸/deploy-service/新建文件夹/') else: # newfilepath = os.path.join(os.path.split(filepath)[0].replace(' ', ''), os.path.split(filepath)[1]) print("filepath error→" + filepath) shutil.copy(filepath, 'D:/建筑图纸/deploy-service/新建文件夹/') print('共{}数据中,解析成功的数据有{}个,解析失败的数据有{}个'.format(countsum, countyes, countno)) infilepath.close()
Spring restTemplate 参数乱码
## Spring restTemplate 参数乱码 客户端代码: ``` public static RestTemplate creatTemplate(){ RestTemplate restTemplate=new RestTemplate(); FormHttpMessageConverter fc = new FormHttpMessageConverter(); StringHttpMessageConverter s = new StringHttpMessageConverter(StandardCharsets.UTF_8); List<HttpMessageConverter<?>> partConverters = new ArrayList<HttpMessageConverter<?>>(); partConverters.add(s); partConverters.add(new ResourceHttpMessageConverter()); fc.setPartConverters(partConverters); MappingJackson2HttpMessageConverter jsonMessageConverter = new MappingJackson2HttpMessageConverter(); // Add supported media type List<MediaType> supportedMediaTypes = new ArrayList<MediaType>(); supportedMediaTypes.add(new MediaType("text", "plain")); supportedMediaTypes.add(new MediaType("charset", "utf-8")); supportedMediaTypes.add(new MediaType("text", "html")); supportedMediaTypes.add(new MediaType("application", "json")); jsonMessageConverter.setSupportedMediaTypes(supportedMediaTypes); restTemplate.getMessageConverters().addAll(Arrays.asList(fc, jsonMessageConverter)); ClientHttpRequestInterceptor interceptor= new ClientHttpRequestInterceptor() { @Override public ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution) throws IOException { HttpRequestWrapper wrapper = new HttpRequestWrapper(request); MediaType mt=MediaType.valueOf("application/json;charset=utf-8"); System.out.println(mt.getCharSet()); wrapper.getHeaders().setContentType(mt); wrapper.getHeaders().setAccept(Collections.singletonList(new MediaType("application", "json"))); wrapper.getHeaders().setAcceptCharset(Collections.singletonList(Charset.forName("utf-8"))); return execution.execute(wrapper, body); } }; restTemplate.setInterceptors(Collections.singletonList(interceptor)); return restTemplate; } public static void main(String[] args) { JSONObject js=new JSONObject(); JSONObject appSign=new JSONObject(); appSign.put("appkey", "xunyukeji"); appSign.put("timestamp", "12345678900"); appSign.put("sign", "F206BEB57018BDA4B2369CE998A5F1C5"); js.put("type", "S"); js.put("apiSign", appSign); JSONArray list=new JSONArray(); JSONObject item=new JSONObject(); item.put("message", "订单发货日期2017-01-10 16:13:31"); item.put("status", "S"); item.put("code", "shunfeng"); item.put("tradeNum", "5455454"); item.put("expressName", "顺丰快递"); list.add(item); js.put("list", list); RestTemplate restTemplate=creatTemplate(); JSONObject result=restTemplate.postForObject("http://192.168.0.126/webapp/wcs/stores/servlet/SBNUpdateOrderStatusCmd", js.toString(), JSONObject.class); System.out.println(result.toString()); } ``` 服务端参数处理代码: ``` public String getParams(HttpServletRequest request) throws IOException{ Enumeration<String> names = request.getHeaderNames(); while (names.hasMoreElements()) { String name = names.nextElement(); System.out.println("["+name + " : " + request.getHeader(name) + "]"); } request.setCharacterEncoding("utf-8"); // 读取请求内容 BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream())); String line = null; StringBuilder sb = new StringBuilder(); while((line = br.readLine())!=null){ sb.append(line); } // 将资料解码 String reqBody = new String(sb.toString().getBytes("ISO-8859-1"),"UTF-8"); return reqBody; } ``` 服务端接收的请求头和处理后的参数 ``` [17-2-9 12:53:32:875 CST] 000000ab SystemOut O [Accept : application/json] [17-2-9 12:53:32:876 CST] 000000ab SystemOut O [Content-Type : application/json;charset=utf-8] [17-2-9 12:53:32:876 CST] 000000ab SystemOut O [Accept-Charset : utf-8] [17-2-9 12:53:32:876 CST] 000000ab SystemOut O [User-Agent : Java/1.7.0_79] [17-2-9 12:53:32:876 CST] 000000ab SystemOut O [Host : 192.168.0.126] [17-2-9 12:53:32:877 CST] 000000ab SystemOut O [Connection : keep-alive] [17-2-9 12:53:32:877 CST] 000000ab SystemOut O [Content-Length : 235] [17-2-9 12:53:33:436 CST] 000000ab SystemOut O 2017-02-09 12:53:33,434 INFO [updateOrder] - 修改订单接收参数{"type":"S","apiSign":{"appkey":"xunyukeji","timestamp":"12345678900","sign":"F206BEB57018BDA4B2369CE998A5F1C5"},"list":[{"message":"??????2017-01-10 16:13:31","status":"S","code":"shunfeng","tradeNum":"5455454","expressName":"????"}]} [17-2-9 12:53:34:102 CST] 000000ab SystemOut O F206BEB57018BDA4B2369CE998A5F1C5 [17-2-9 12:53:34:103 CST] 000000ab SystemOut O 2017-02-09 12:53:34,102 INFO [updateOrder] - 密钥验证成功 ``` 可以看到中文部分都是乱码的,客户端和服务端的编码格式都是UTF-8,而且同样的代码服务端用main方法httpclient调用,参数处理后却是正常的
springmvc怎么返回数据到前端?
我搭建了一个ssm框架 现在想尝试把数据库获取到的信息在jsp页面打印出来 ++++++++++++++++++++++ controller的代码,for循环那里是测试用的 return 那里,我知道是错的 ``` @RequestMapping("/all") public String findAll(Model model){ List<User> result = userService.findAll(); model.addAttribute("result", result); for(User user : result){ System.out.println(user); } System.out.println("|||||"); return "all"; } ``` ++++++++++++++++++ 前端 ``` <form> <input id="kid" placeholder="请输入id" type="text"><br/><br/> <input id="username" placeholder="请输入name" type="text"><br/><br/> <input id="btn" value="查询结果" type="submit"> </form><br/><br/> <h1>查询结果为:</h1><br/> <h1>${result}</h1> ``` +++++++++++++++++ 看了网上的例程,它是跳转到另一个页面,然后通过${result}打印结果, 我现在想在原来的页面打印结果。 +++++++++++++++++++++++++++++++ 更新: +-+-+-+ 前端: ``` <body> <form> <input id="kid" placeholder="请输入id" type="text"><br/><br/> <input id="username" placeholder="请输入name" type="text"><br/><br/> <input id="btn" value="查询结果" type="submit"> </form><br/><br/> <h1>查询结果为:</h1><br/> <h1><c:forEach items="${result}" var="item"> <td>${item.kid}</td> <td>${item.username}</td> <td>${item.money}</td> </c:forEach> </h1> </body> ``` ++++++++++++++ 后端: ``` @Controller @RequestMapping("/check") public class UserController { @Autowired private IUserService userService; @RequestMapping("/findall") private String findAll(Model model){ System.out.println("表现层接收数据。。。"); List<User> list = userService.findAll(); System.out.println(list); model.addAttribute("list", list); return "lists"; } } ``` ++++++++++++ 数据库: ![图片说明](https://img-ask.csdn.net/upload/201912/26/1577346457_343387.png) ++++++++++ 结果 ![图片说明](https://img-ask.csdn.net/upload/201912/26/1577346487_535961.png)
component 动态组件为子组件, props获取不到数据
props 获取的值为undefined 需求: 1、需要将 父组件获取到的数据传递到对应组件的data里 ,通过:list 传递给小组件到的 这是引入component 的 父组件 ``` <template> <!-- <web-view :webview-styles="webviewStyles" src="https://uniapp.dcloud.io/static/web-view.html"></web-view> --> <eptaskpage :lists="lists"></eptaskpage> </template> <script> import eptaskpage from "@/pages/task/task-page/task-page.vue" export default { components: { eptaskpage, }, data() { return { lists: { banner: [], grid: [], } } }, onLoad() { console.log('开始加载数据') // this.getBanner(), this.getGrid() // this.getLcard2() // this.getAdList(); }, methods: { async getBanner() { let _self = this; let param = { type: '0' }; _self.banner = await _self.$apis.getBanner(param); }, // getGrid() { // var _self = this; // console.log(_self,9585) // }, getGrid() { var _self = this; uni.request({ url: 'http://122.112.191.190:8080/API/more_video', //请求接口 data: { 'video_type': '', 'price_order': '', 'hot_order': '', 'price': 'F', 'discount': '', 'general_order': '' }, success: (res) => { _self.lists.grid = res.data.data console.log(res, "111111111111") this.flag = true } }); }, ``` 这是component 子组件,用import 引入的小组件来动态生成的页面,封装成为组件 ``` <template> <joy-page class="ep-taskpage"> <div v-for="(item,i) in page_template.items" :key="i" v-if="lists"> <component :is="item.component.tag" :list="item.component.data"></component> </div> </joy-page> </template> <script> import { mapState, mapGetters } from 'vuex' import epSearch from "@/components/ep-search/ep-search.vue" import epSwiper from "@/components/ep-swiper/ep-swiper.vue" import listTitM from "@/components/ep-tit/ep-tit-m.vue" import listTit from "@/components/ep-tit/ep-tit.vue" import epGrid from "@/components/ep-grid/ep-grid.vue" import epCard from "@/components/ep-card/ep-card.vue" import epCcard from "@/components/ep-ccard/ep-ccard.vue" import epCcard2 from "@/components/ep-ccard/ep-ccard2.vue" import epBox2 from "@/components/ep-box/ep-box-2.vue" import epLoadMore from '@/components/ep-b-tab/uni-load-more.vue' import epListCp from "@/components/ep-list-c/ep-list-cp.vue" export default { name: 'eptaskpage', components: { epSearch, epSwiper, listTit, epGrid, epCard, epCcard, epCcard2, epBox2, listTitM, epLoadMore, epListCp }, props: { lists: { type: [Array, Object, Number], default () { return } } }, data() { return { page_template: { //页面的模板,整页 template: "", //可以指定前端对应的templete,无则默认 items: [ //页面上的组件数组,按顺序显示 { component: { tag: "ep-search", data: ['grid'] } }, { component: { tag: "ep-swiper", data: ['banner'] } }, { component: { tag: "ep-grid", data: ['grid'] } }, { component: { tag: "list-tit", data: ['listtit'] } }, { component: { tag: "ep-box-2", data: ['adList'] } }, { component: { tag: "list-tit", data: ['listtit'] } }, { component: { tag: "ep-ccard", data: ['lcard'], } }, { component: { tag: "list-tit", data: ['listtit'] } }, { component: { tag: "ep-ccard", data: ['lcard2'], } }, { component: { tag: "list-tit-m", data: ['listTitM'] } }, { component: { tag: "ep-ccard2", data: ['lcard3'], } }, ] }, } }, ```
.net core webapi异步接口调用数据库for里面使用await不等待,返回空(有时候有返回值)
使用异步调用一个树结构 ``` public async Task<List<SelectDto>> SelectDeps(int? id) { var results = new List<SelectDto>(); // var deps = db.Department.Where(o=>o.IsDel!=true).Where(o => o.Pid == id || (id == null && o.Pid == 0)).Include(x => x.Children).AsAsyncEnumerable(); // await foreach (var x in deps) // { // var dto = new SelectDto() // { // title = x.DepName, // label = x.DepName, // key = x.Id, // children = await SelectDeps(x.Id) // }; // results.Add(dto); // }; var deps =await db.Department.Where(o=>o.IsDel!=true).Where(o => o.Pid == id || (id == null && o.Pid == 0)).Include(x => x.Children).ToListAsync(); for (int i = 0; i < deps.Count; i++){ var dto = new SelectDto() { title = deps[i].DepName, label = deps[i].DepName, key = deps[i].Id, children = await SelectDeps( deps[i].Id) }; results.Add(dto); }; return results; } ``` 原来无论使用await foreach 或者 for 都会等待执行然后返回数据 直接调用接口没问题。浏览器get方法。 但是前端调用进入调试总是后台返回空值(使用angular)
Burnout 是如何实现
Problem Description Whenever you buy a light bulb, the package will state an amount of time that the bulb should last. But, that's assuming the bulb is on continuously. Most people turn their light bulbs on and off. How does this affect their lifetime? A friend of yours has built a rig to test this. Given a simple pattern, his rig will turn the bulb on and off, and a light sensor will tell when the bulb burns out. The pattern has a very simple syntax. It consists of a list of elements, separated by spaces. Each element is either a number M (1 ≤ M ≤ 1,000,000), indicating a number of milliseconds, or a repeating list. A repeating list consists of one or more elements, surrounded by parentheses, and followed by a ‘*’ and then an integer K (1 ≤ K ≤ 100). This integer K indicates how many times the list should be repeated. Your friend’s machine always starts with the bulb on, and then goes through the pattern. For every integer, it waits that number of milliseconds, and then switches the bulb. If the bulb is on, it's turned off, and if it's off, it gets turned back on. If the machine reaches the end of the pattern, it will start again from the beginning. For example, with this pattern: 1 3 5 The machine will start by turning the bulb on. It will wait 1 millisecond and turn the bulb off. It will then wait 3 milliseconds and turn the bulb on. It will then wait 5 milliseconds and turn the bulb off. It will then wait 1 millisecond and turn the bulb on. It will then wait 3 milliseconds and turn the bulb off. It will continue like this until the bulb burns out. Here's an example of a pattern with a repeating section: 1 (3 5)*2 7 The machine will start by turning the bulb on, and will change the bulb’s state after 1 millisecond, then 3, then 5, then 3, then 5, then 7, then 1..... Note that repeating sections can be nested inside of repeating sections. Your friend is not good with programming, though, so he's asked you to help. He can easily measure how long it takes for the bulb to actually burn out - but, how long SHOULD it have taken? Assume that turning the bulb on and off does NOT affect its life. Also assume that changing the bulb’s state takes no time. Given a life N in milliseconds, and a pattern of turning the bulb on and off, how many actual milliseconds would elapse before the bulb is on for exactly N milliseconds? Input There will be several test cases in the input. Each test case will consist of two lines. The first line will contain an integer N (1 ≤ N ≤ 1,000,000,000) which is the expected life of the bulb in milliseconds. The second line will contain a string, which is the pattern. The pattern will not be longer than 500 characters. The pattern consists of a list of elements, separated by single spaces. Each element is either a number M (1 ≤ M ≤ 1,000,000), indicating a number of milliseconds, or a repeating list. A repeating list consists of one or more elements, surrounded by parentheses, and followed by a ‘*’ and then an integer K (1 ≤ K ≤ 100). There will be single spaces separating elements of a list, but nowhere else. In particular, note that there will not be any spaces surrounding the ‘*’ at the end of a repeating list, nor immediately following an opening parenthesis, nor immediately before a closing parenthesis. The total amount of time represented by a pattern, including all repetition, will be no greater than 1,000,000,000. The input will terminate with a line with a single 0. Output For each test case, output a single integer on its own line, indicating the number of milliseconds of total elapsed time until the bulb has been lit for N milliseconds. Output no extra spaces, and do not separate answers with blank lines. Sample Input 100 20 30 40 1000 1 3 5 1000 1 (3 (5)*3 2)*2 7 0 Sample Output 190 1999 2279
java 实体类list进行数据处理
现有数据库policecarnew,字段id,x,y,date 每5秒会有一条数据添加到表中 数据会出现x,y相同的情况,我要把x,y的这个点去重,并且规定一个值比如0.5,x1y1的点距离x2y2的点小于0.5,那我就认为这俩个点是重复的去掉一个点 我现在用实体类接收到数据存到list集合里,要拿第一条数据x1y1的点和第二条数据的x2y2进行比对,如果x1y1与x2y2重复,我删掉x2y2的这一条数据,再拿第一条和第三条比对,如果x1y1的点距离x3y3的点小于0.5,那我也删掉x3y3的这一条数据,x1x1与x4y4比,如果x1y1的点距离x4y4的点大于0.5,那我把x4y4存进去,再用x4y4对比下一条数据 注明:x:116.421565,y:40.456123;x1y1为一个点,需用到勾股定理算出两个点的距离
页面置换算法的OPT算法的具体代码解释看不懂,主要问题是 在超出list容量之后的部分,以及LRU算法及其调用的MyStack栈的具体解释?????
``` public class OPT { private final int capacity = 3;// 构造一个初始容量为3的空列表 private int[] index = new int[2];//申请数组下标的容量为2 private List<Integer> list = new ArrayList<Integer>(capacity);//定义一个有界阻塞容器capacity即队列 public OPT(int[] arr) { for (int i = 0; i < arr.length; i++) { if (list.size() < capacity) { // 小于list初始容量 if (!list.contains(arr[i])) { // list没有该页面,将其添加进list尾部 list.add(arr[i]);//列表+1 } else { continue; } } else {// 超出list容量 index[0] = 100; index[1] = 101; if (!list.contains(arr[i])) { // 下一个页面如果不在list中 int a = 0; for (int j = i; j < arr.length; j++) { if (list.contains(arr[j])) { // arr[j]这个页面会在测试数据中会出现较早 if (index[0] != list.indexOf(arr[j])) { //indexOf()的用法:查找arr[j]中,第一次出现指定字符串的位置。 位置不是下标为0 index[a++] = list.indexOf(arr[j]);// 返回此列表中首次出现的指定元素的索引 if (a == 2) { break; } } } } list.set(noExist(), arr[i]);// 置换掉永不使用的,或许在最长时间内不再访问的页面 } else { // 下一个页面在list中 continue;//列表保持不变 } } traverse();//调用traverse函数 } System.out.println("访问页面需从外存调入的次数为:"+(num-1));//计算访问页面需要从外存调入的次数 System.out.println("缺页率为:"+(1-(float)(num-1)/arr.length));//计算缺页率 } ``` [https://blog.csdn.net/AdvancingStone/article/details/79110586]( "这是我的参考代码,我需要的帮助是具体解释OPT和LRU及其调用的MyStack栈的每行代码的具体注释")
相见恨晚的超实用网站
搞学习 知乎:www.zhihu.com 简答题:http://www.jiandati.com/ 网易公开课:https://open.163.com/ted/ 网易云课堂:https://study.163.com/ 中国大学MOOC:www.icourse163.org 网易云课堂:study.163.com 哔哩哔哩弹幕网:www.bilibili.com 我要自学网:www.51zxw
花了20分钟,给女朋友们写了一个web版群聊程序
参考博客 [1]https://www.byteslounge.com/tutorials/java-ee-html5-websocket-example
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
字节跳动视频编解码面经
引言 本文主要是记录一下面试字节跳动的经历。 三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
Python 基础(一):入门必备知识
目录1 标识符2 关键字3 引号4 编码5 输入输出6 缩进7 多行8 注释9 数据类型10 运算符10.1 常用运算符10.2 运算符优先级 1 标识符 标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。 以下划线开头的标识符有特殊含义,单下划线开头的标识符,如:_xxx ,表示不能直接访问的类属性,需通过类提供
这30个CSS选择器,你必须熟记(上)
关注前端达人,与你共同进步CSS的魅力就是让我们前端工程师像设计师一样进行网页的设计,我们能轻而易举的改变颜色、布局、制作出漂亮的影音效果等等,我们只需要改几行代码,不需...
国产开源API网关项目进入Apache孵化器:APISIX
点击蓝色“程序猿DD”关注我回复“资源”获取独家整理的学习资料!近日,又有一个开源项目加入了这个Java开源界大名鼎鼎的Apache基金会,开始进行孵化器。项目名称:AP...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
编写Spring MVC控制器的14个技巧
本期目录 1.使用@Controller构造型 2.实现控制器接口 3.扩展AbstractController类 4.为处理程序方法指定URL映射 5.为处理程序方法指定HTTP请求方法 6.将请求参数映射到处理程序方法 7.返回模型和视图 8.将对象放入模型 9.处理程序方法中的重定向 10.处理表格提交和表格验证 11.处理文件上传 12.在控制器中自动装配业务类 ...
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
求小姐姐抠图竟遭白眼?痛定思痛,我决定用 Python 自力更生!
点击蓝色“Python空间”关注我丫加个“星标”,每天一起快乐的学习大家好,我是 Rocky0429,一个刚恰完午饭,正在用刷网页浪费生命的蒟蒻...一堆堆无聊八卦信息的网页内容慢慢使我的双眼模糊,一个哈欠打出了三斤老泪,就在此时我看到了一张图片:是谁!是谁把我女朋友的照片放出来的!awsl!太好看了叭...等等,那个背景上的一堆鬼画符是什么鬼?!真是看不下去!叔叔婶婶能忍,隔壁老王的三姨妈的四表...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
相关热词 c#选择结构应用基本算法 c# 收到udp包后回包 c#oracle 头文件 c# 序列化对象 自定义 c# tcp 心跳 c# ice连接服务端 c# md5 解密 c# 文字导航控件 c#注册dll文件 c#安装.net
立即提问

相似问题

1
为什么ServletFileUpload的parseRequest方法返回值只能用List接受?
3
求助!为什么前端jsp接收不到后端action传来的值?
1
c# 访问List列表成员List[0]返回null,可列表不为空
1
javaweb新手 requestScope.List 获取不到数据
1
SpringData JPA @Query 返回的结果中有实体类和结果如何处理
1
restTemplate能否传递list集合?
3
android开发,在后台里面有数据,但Adapter没有接收到数据,找不到原因,帮忙看一下!!!
1
ffmpeg源码中,函数av_muxer_iterate中的muxer_list变量在哪里定义的?
3
关于List<Map>与json转化的问题,求大神提点解决方案;
5
mybatis 返回类型为list<object[]>如何接受
3
mybatis 返回参数,如何接受LIst<object[]>
1
前端form-data传String数组后端如何接收size=1的空字符串
2
为什么List< >[] ls = new ArrayList < > []不行,而List<String>[] ls = new ArrayList []可以?
3
导入Java项目,xml文件中出现<#List></#List>一直报这个错误 The content of elements must consist of well-formed character data or markup
1
如何使用Java8Lambda表达式对两个List<Object>中的多个元素进行对比筛选
2
python复制改的别人代码,IndexError: list index out of range报错,实在找不到根源在哪儿
5
为什么多线程给list添加内容,最后返回为空?
1
Springboot启动报错 一个是找不到url 一个是找不到dao
4
C# combobox绑定list 不显示的问题
1
安全检查工具 查出 不安全的反序列化