HttpServletResponse由于两天后我仍然不知道如何在 中打印身体HandlerInterceptorAdapter,我会再问一次:)
HttpServletRequest我可以轻松地做类似的事情,并且request.getReader().lines().collect(Collectors.joining(System.lineSeparator()));我有完整的身体,但如何做同样的事情HttpServletResponse?
我在 StackOverflow 上发现了很多关于此问题的问题,但似乎没有一个有效。
这是处理程序:
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {
//how to print here the "response" by using the "response" parameter
super.afterCompletion(request, response, handler, ex);
}
Run Code Online (Sandbox Code Playgroud)
这个答案是完全相同的,并链接到这个,但他们使用ServletResponseand NOTHttpServletResponse以及FilterChain我的afterCompletion处理程序中没有的东西。即使这看起来最完整的一个也不适合(我认为)我的情况。
有人可以为我提供一个简单的序列化示例吗HttpServletResponse?
这是我第一次HashMap在Java中订购.我需要通过密钥来做到这一点,但在我的情况下,密钥是一个对象,所以我需要按特定字段排序.试图通过我自己来计算它我已经考虑继续这个简单的代码划痕:
private HashMap<SimpleDBField, String> sortTable(HashMap<SimpleDBField, String> row){
LinkedHashMap<SimpleDBField, String> orderedRow = new LinkedHashMap<SimpleDBField, String>();
for(int i = 1; i <= row.size(); i ++){
Iterator iterator = row.entrySet().iterator();
while(iterator.hasNext()){
Map.Entry<SimpleDBField, String> entry = (Map.Entry<SimpleDBField, String>) iterator.next();
if(entry.getKey().getListPosition()==i){
orderedRow.put(entry.getKey(), entry.getValue());
break;
}
}
}
return orderedRow;
}
Run Code Online (Sandbox Code Playgroud)
假设它有效并且我不关心性能,在真正使用它之前,我想知道下一个代码划痕是否更好,最重要:为什么?
下面的示例源代码:如何按Java中的键和值对HashMap进行排序
public static <K extends Comparable,V extends Comparable> Map<K,V> sortByKeys(Map<K,V> map){
List<K> keys = new LinkedList<K>(map.keySet());
Collections.sort(keys);
Map<K,V> sortedMap = new LinkedHashMap<K,V>();
for(K key: keys){
sortedMap.put(key, map.get(key));
}
return sortedMap;
} …Run Code Online (Sandbox Code Playgroud)