我正在尝试创建一个上传图片按钮,然后在另一个jsp页面上显示图像.
我想通过上传到app-root/data/images文件夹来做到这一点.这适用于以下文件路径:filePath = System.getenv("OPENSHIFT_DATA_DIR") + "images/";
但是如何在我的jsp上显示这个图像呢?我试过用:
<BODY>
<h1>SNOOP PAGE</h1>
<a href="profielMijnBedrijf.jsp">Ga weer terug</a>
<% String filepath = System.getenv("OPENSHIFT_DATA_DIR") + "images/";
out.println("<img src='"+filepath+"logo21.jpg'/>");
%>
<img src="app-root/data/images/logo21.jpg"/>
</BODY>
Run Code Online (Sandbox Code Playgroud)
这两个选项都不起作用.我还读到我需要创建一个符号链接.但是,当我在我的app-root/data或者app-root/data/images或app-root命令ln -s返回missing file operand
logo21.jpg确实出现在我的Git bash中
Angular 2.0.0 - Ionic 2 RC0 - Npm 3.10.8 - Node v4.5.0 - Karma 1.3.0 - Jasmine 2.5.2
我正在尝试用Karma和Jasmine测试我的应用程序.现在我到了我遵循一些指南的地步(我是这些测试框架的新手).但遗憾的是,我在尝试执行测试时遇到错误.
我正在尝试测试EventsPage哪个没有Http导入,但它调用我APICaller.service的确使用Http.这就是为什么我创建了一个MockAPICaller但似乎仍然想要的原因Http(也许是因为它是在APICaller构造函数中,但我不知道如何解决这个问题).
所以我怀疑问题在于,MockAPICaller但我不确定.
我会后MockAPICaller.service,APICaller.service,EventsPage和我events.spec.ts.(按此顺序,如果你需要/想要,你可以跳过.
import { SpyObject } from './helper';
import { APICaller } from '../apicaller.service';
import Spy = jasmine.Spy;
export class MockAPICaller extends SpyObject {
getEventsSpy: Spy;
searchEventSpy:Spy;
getParticipantSpy:Spy;
getEventParticipantsSpy:Spy;
searchEventParticipantSpy:Spy;
addNewCommentSpy:Spy;
updateCommentSpy:Spy;
deleteCommentSpy:Spy;
getUsernameSpy:Spy;
presentSuccessMessageSpy:Spy;
fakeResponse:any;
constructor(){ …Run Code Online (Sandbox Code Playgroud) 现在是什么样的:
class Trial {
companion object{
@JvmStatic fun main(args: Array<String>){
val message = Message.ALREADY_REGISTERED.value
println(message);
}
}
}
enum class Message constructor(val value: String){
ALREADY_REGISTERED("You've already been registered")
}
Run Code Online (Sandbox Code Playgroud)
输出:You've already been registered。但是我想知道,是否有一种方法可以val message = Message.ALREADY_REGISTERED立即分配并立即获得值而无需使用.value?
尝试时(使用我想要的代码)
class Trial {
companion object{
@JvmStatic fun main(args: Array<String>){
val message = Message.ALREADY_REGISTERED
println(message);
}
}
}
enum class Message constructor(val value: String){
ALREADY_REGISTERED("You've already been registered")
}
Run Code Online (Sandbox Code Playgroud)
它输出ALREADY_REGISTERED。
那么我可以将枚举返回的值设为默认值而不是其名称吗?
我已经使用angular-cli. 现在我正在尝试运行一些单元测试,但我想用 PhantomJS 运行它们而不是 Chrome。所以我改变了我package.json的样子:
{
"name": "frontend",
"version": "0.0.0",
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "ng serve",
"start-lite": "tsc && concurrently \"npm run tsc:w\" \"npm run lite\"",
"lite": "lite-server",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"tsc": "tsc",
"tsc:w": "tsc -w",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/common": "^2.4.0",
"@angular/compiler": "^2.4.0",
"@angular/core": "^2.4.0",
"@angular/forms": "^2.4.0",
"@angular/http": "^2.4.0",
"@angular/platform-browser": "^2.4.0",
"@angular/platform-browser-dynamic": "^2.4.0",
"@angular/router": "^3.4.0",
"angular2-wizard": "^0.3.0",
"bootstrap": "^3.3.7",
"core-js": "^2.4.1",
"karma-phantomjs-launcher": …Run Code Online (Sandbox Code Playgroud) 我正在尝试运行npm start并让它永远运行。所以我执行了以下命令forever -c "npm start" /home/deploy/frontend,其中提供的路径指向我的 Angular 2 应用程序的源文件夹。
当我npm start在该文件夹中运行时,精简服务器启动并且一切正常。使用此命令但是,它试图访问/package.json,但因为我在Linux上运行,这会不会导致成..../frontend/package.json只是/package.json。
是否有某种配置forever方法可以从我的/home/deploy/frontend/package.json.
日志(仅在 3 次尝试中剪掉了 1 次):
: /home/deploy/frontend:28134 - error: Script restart attempt #3
data: /home/deploy/frontend:28134 - npm ERR! Linux 4.4.0-72-generic
data: /home/deploy/frontend:28134 - npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "start" "/home/deploy/frontend"
data: /home/deploy/frontend:28134 - npm ERR! node v7.10.0
data: /home/deploy/frontend:28134 - npm ERR! npm v4.2.0
data: /home/deploy/frontend:28134 - npm ERR! path /package.json
data: …Run Code Online (Sandbox Code Playgroud) 因此,我有一个 Oracle 数据库(在 APEX 中),其中有一个名为“Scheme”的列。
如下所示:
CREATE TABLE Scheme
(
Scheme_ID NUMBER NOT Null,
description VARCHAR2 (800) ,
price FLOAT (3) ,
amount_sold INTEGER ,
Personal_Trainer_ID NUMBER NOT NULL
) ;
ALTER TABLE Schema ADD CONSTRAINT Schema_PK PRIMARY KEY ( Schema_ID ) ;
Run Code Online (Sandbox Code Playgroud)
现在,我的所有表都像这样设置并且完美工作,但是当我尝试在我的方案上插入时,它说我正在尝试将 null 插入到主键 schema_ID 中。
我将向您展示我使用的 2 个 SQL 插入。一份用于私人教练,一份用于计划。
INSERT INTO Personal_Trainer (name, loginname, date_of_birth, password)
VALUES('Bojan', 'Bojan', '15-07-1974','fitline');
Run Code Online (Sandbox Code Playgroud)
Peronal_Trainer 有一个 Personal_Trainer_ID 作为主键,其设置与方案完全相同。插入此命令效果非常好。
insert into schema (description, price, amount_sold, Personal_Trainer_ID)
values ('3x pushups, 5x bench, 7x …Run Code Online (Sandbox Code Playgroud) 我将有一个字符串输入的样式:
yyyy-MM-dd'T'HH:mm:ssZ
是否可以将此字符串转换为日期,然后再将其解析为可读的dd-MM-yyyy日期对象?
我有一个RekenReeks类,它返回从2开始的数字,乘以2.所以{2,4,8,16,32,64}
现在我了解了TakeWhile和SkipWhile方法以及LINQ.
所以我创建了3个变量,它们应该存储完全相同,但我Console.WriteLine唯一的打印选择1而不是2和3.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
RekenReeks reeks = new RekenReeks(2, n => n * 2);
var selection = from i in reeks
where i > 10
&& i < 1000
select i;
var selection2 = reeks.TakeWhile(n => n < 1000 && n > 10);
var selection3 = reeks.SkipWhile(n => n > 1000 && n < 10);
foreach (int i …Run Code Online (Sandbox Code Playgroud) 我正在尝试spec.ts为我的应用程序创建一个.可悲的是这是使用LoadingController从ionic-angular.现在,当我尝试配置模块时,我需要为它提供LoadingController(因为它在模块的构造函数中).
我目前遇到的问题是LoadingController想要提供一个App对象/实例.(_app: App参数)
我很绝望,所以我自己问了Ionic.github#8539
但是他们关闭了我的问题,因为这是一个问题,而不是一个问题,尽管我遇到了一些他们没有回应的问题.如果这是不可能的/没有人知道如何将是一个耻辱,因为它是一个非常酷的功能,它不仅影响LoadingController,因此AlertController和ToastController也受此影响.
我的testbed配置atm:
TestBed.configureTestingModule({
declarations: [EventsPage],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
providers: [
{provide: APICaller, useValue: mockAPICaller},
{provide: NavController, useValue: mockNavController },
{provide: LoadingController, useValue: ???????}, //it seems like everything I try to enter here fails.
],
imports: [FormsModule]
});
Run Code Online (Sandbox Code Playgroud)
和EventsPage构造函数:
constructor(public apiCaller: APICaller, public navCtrl: NavController,
public loadingCtrl: LoadingController){}
Run Code Online (Sandbox Code Playgroud)
编辑:LoadingController的用法
getEvents() {
// setup a loadingscreen
let loading = this.loadingCtrl.create({
content: "Loading..."
});
// present the loadingscreen
loading.present(); …Run Code Online (Sandbox Code Playgroud) 我正在制作一个网站,其中会有很多输入字段。有点像扫描仪,我想在按下 Enter 时禁用每个输入。
我现在有这个:
<input (keyup.enter)="doSomething()"/>
但我想传递输入本身,以便我可以禁用这些输入。(例如:doSomething(input) { input.attr.disabled = true; }
如何在我的doSomething函数中获取此输入字段?
注意:我不想使用类似的东西,<input #input ...因为我有很多输入字段。这只会产生大量的工作。
我想要的是每次在输入字段中按下回车键时,它都会被禁用(仅使用一个功能)。
angular ×4
unit-testing ×3
ionic2 ×2
java ×2
mocking ×2
c# ×1
date ×1
enums ×1
expression ×1
forever ×1
jsp ×1
karma-runner ×1
kotlin ×1
lambda ×1
linq ×1
node.js ×1
null ×1
openshift ×1
oracle ×1
oracle-apex ×1
phantomjs ×1
primary-key ×1
sql ×1
testing ×1