我想使用此Angular 6代码实现文件下载:
REST API:
@GetMapping("export")
public ResponseEntity<InputStreamResource> export() throws IOException {
ClassPathResource pdfFile = new ClassPathResource(EXTERNAL_FILE_PATH);
HttpHeaders headers = new HttpHeaders();
headers.add("Cache-Control", "no-cache, no-store, must-revalidate");
headers.add("Pragma", "no-cache");
headers.add("Expires", "0");
return ResponseEntity.ok().headers(headers).contentLength(pdfFile.contentLength())
.contentType(MediaType.parseMediaType("application/pdf"))
.body(new InputStreamResource(pdfFile.getInputStream()));
}
Run Code Online (Sandbox Code Playgroud)
服务:
import {Injectable} from '@angular/core';
import {HttpClient, HttpParams} from "@angular/common/http";
import {Observable} from "rxjs/index";
import {environment} from "../../../environments/environment";
import {HttpUtils} from "../common/http-utils";
import { map } from 'rxjs/operators';
@Injectable({
providedIn: 'root'
})
export class DownloadService {
constructor(private http: HttpClient) {
}
downloadPDF(): any {
return …Run Code Online (Sandbox Code Playgroud) 我想编辑此代码以使用模拟服务。这段代码工作正常:
@Service
public class BinCountryCheckFilterImpl {
private RiskFilterService riskFilterService;
private Terminals terminal;
@Autowired
public BinCountryCheckFilterImpl(Terminals terminal, RiskFilterService riskFilterService) {
this.terminal = terminal;
this.riskFilterService = riskFilterService;
}
public void validateBinCountryCheckFilter(Terminals terminal) throws JAXBException, JsonProcessingException {
List<RiskFilters> filter_list = riskFilterService.findRiskFiltersByTerminalIdAndType(terminal.getId(), "BinCountryCheckFilter");
}
}
Run Code Online (Sandbox Code Playgroud)
JUnit 测试:
public class BinCountryCheckFilterImplTest {
@Test
public void testBinCountryCheckFilterImpl() throws JsonProcessingException, JAXBException {
//Arrange
RiskFilterService riskFilterService = Mockito.mock(RiskFilterService.class);
Terminals terminal = Mockito.mock(Terminals.class);
BDDMockito.given(
riskFilterService.findRiskFiltersByTerminalIdAndType(anyInt(), anyString()))
.willReturn(riskFiltersList);
int expectedInt = 11;
String expectedString = "BinCountryCheckFilter";
when(terminal.getId()).thenReturn(expectedInt);
BinCountryCheckFilterImpl binCountryCheckFilterImpl = …Run Code Online (Sandbox Code Playgroud) 我有一个复杂的 Oracle 查询。
SELECT
r3.object_id
FROM
nc_references r
INNER JOIN nc_objects o ON r.object_id = o.object_id
AND o.object_class_id = 90000330 /* Work Item */
INNER JOIN nc_params p ON p.object_id = o.object_id
AND p.attr_id = 90100070 /* State */ AND p.list_value_id IN ( 90100071 /* Ready */, 90100072 /* Active */ )
INNER JOIN nc_po_actions poa ON poa.manual_task_id = o.object_id
INNER JOIN nc_po_tasks pot ON pot.task_id = poa.task_id
INNER JOIN nc_references r1 ON r1.object_id = pot.container_id
AND r1.attr_id = 9145923960313063683 …Run Code Online (Sandbox Code Playgroud) 我想运行这段代码:
final LocalTime currentTime = LocalTime.now().plus(2, ChronoUnit.YEARS);
long milliseconds = currentTime.toNanoOfDay() / 1000000;
String s = Long.toHexString(milliseconds).toUpperCase();
Run Code Online (Sandbox Code Playgroud)
我收到错误:
Unsupported argument value: 'YEARS'你知道我该如何解决这个问题吗?
我写了一个用于插入当前日期的java代码,但是当我尝试运行它时会发生异常:
public void Session_Table_Update (String Update_User) throws SQLException{
String SQL_Statement = null;
error_Message = null;
if (ds == null) throw new SQLException( error_Database = "No data source");
Connection conn = ds.getConnection();
if (conn == null) throw new SQLException( error_Database = "No connection");
try {
conn.setAutoCommit(false);
boolean committed = false;
try {
SQL_Statement = "INSERT INTO USERS (LAST_LOGIN) VALUES (?,?,?) WHERE USERZ ="+ Update_User;
PreparedStatement insertQuery = conn.prepareStatement(SQL_Statement);
insertQuery.setString(3, "2.2.2011");
insertQuery.executeUpdate();
conn.commit();
committed = true;
} finally {
if (!committed) conn.rollback(); …Run Code Online (Sandbox Code Playgroud) 我有这个Oracle表,用于存储应用程序设置.

这是用于创建表的SQL脚本:
CREATE TABLE "GLOBALSETTINGS"(
"SettingName" Varchar2(40 ) NOT NULL,
"SettingValue" Varchar2(40 )
)
/
-- Add keys for table GLOBALSETTINGS
ALTER TABLE "GLOBALSETTINGS" ADD CONSTRAINT "Key14" PRIMARY KEY ("SettingName")
/
ALTER TABLE "GLOBALSETTINGS" ADD CONSTRAINT "SettingName" UNIQUE ("SettingName")
/
Run Code Online (Sandbox Code Playgroud)
这是我想要使用的SQL语句:
UPDATE GLOBALSETTINGS
SET settingValue =
CASE
WHEN settingName = 'SessionTTL'
THEN '30'
WHEN settingName = 'MaxUsersActive'
THEN '40'
ELSE settingValue
END
WHERE settingName IN ('SessionTTL', 'MaxUsersActive');
Run Code Online (Sandbox Code Playgroud)
但是当我在SQL开发人员中运行它时,我收到以下错误消息:
Error starting at line 1 in command:
UPDATE GLOBALSETTINGS
SET settingValue = …Run Code Online (Sandbox Code Playgroud) 我正在尝试实现本教程中的代码:
这是托管bean:
import java.io.Serializable;
import javax.enterprise.context.SessionScoped;
// or import javax.faces.bean.SessionScoped;
import javax.inject.Named;
/* include SQL Packages */
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.sql.DataSource;
import javax.annotation.Resource;
import javax.faces.bean.ViewScoped;
import javax.faces.component.UICommand;
import javax.faces.context.FacesContext;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
// or import javax.faces.bean.ManagedBean;
import javax.faces.event.ActionEvent;
import org.glassfish.osgicdi.OSGiService;
// source http://balusc.blogspot.com/2008/10/effective-datatable-paging-and-sorting.html
@Named("SessionsController")
@ViewScoped
public class Sessions implements Serializable {
/* Call the Oracle JDBC Connection driver */ …Run Code Online (Sandbox Code Playgroud) 我是C++编程的新手.我需要对这个矩阵进行排序:
#include <iostream>
#include <iomanip>
#include <cstdlib>
using namespace std;
int main(int argc, char** argv) {
Mat10 a;
fillRand(a, 5, 5);
prnMat(a, 5, 5);
cout << endl;
return 0;
}
void fillRand(Mat10 m, int n, int k) {
for (int i = 0; i < n; i++)
for (int j = 0; j < k; j++)
m[i][j] = rand() % 1000;
}
void prnMat(Mat10 a, int m, int n) {
for (int i = 0; i < m; i++) { …Run Code Online (Sandbox Code Playgroud) 我想创建一个util方法,它使用键和值将HashMap转换为long String:
HashMap<String, String> map = new LinkedhashMap<>();
map.put("first_key", "first_value");
map.put("second_key", "second_value");
Run Code Online (Sandbox Code Playgroud)
我需要得到这个最终结果:
first_key=first_value&second_key=second_value
Run Code Online (Sandbox Code Playgroud) 我怎么能从间隔之间的Ruby rand方法得到总数rand(1..99999999).
例如,我希望得到例如1000或100000的结果
我有用于转换为字符串的列表:
private String convertList(List<String> list)
{
String listString = "";
for (String s : list)
{
listString += s + ",";
}
return listString;
}
Run Code Online (Sandbox Code Playgroud)
但我也想向后实现相同的操作。我想使用,作为分隔符的字符串生成列表。如何实施?