jsp包含没有换行符的文件

时间:2018-06-19 07:17:44

标签: javascript jsp line-breaks jspinclude

我有以下一行javascript代码:

element.innerHTML = '<%@include file="../jsp/welcome.jsp" %>';

如果welcome.jsp文件写在一行中,那么一切都会正常工作。 但由于文件包含换行符,因此javascript代码被破坏,因为撇号之间有换行符,如下所示:

element.innerHTML = '
<p>
...
</p>
';

有谁能知道如何轻松地包含没有换行的jsp文件?我知道我可以手动删除所有换行符,但这对我来说非常烦人,继续在“单行”页面上进行开发将是一项挑战。

感谢。

1 个答案:

答案 0 :(得分:0)

可以使用反斜杠部分完成此任务:

var crypto = require('crypto');

/*
Generating random numbers in specific range using crypto.randomBytes from crypto library
Maximum available range is 281474976710655 or 256^6-1
Maximum number for range must be equal or less than Number.MAX_SAFE_INTEGER (usually 9007199254740991)
Usage examples:
cryptoRandomNumber(0, 350);
cryptoRandomNumber(556, 1250425);
cryptoRandomNumber(0, 281474976710655);
cryptoRandomNumber((Number.MAX_SAFE_INTEGER-281474976710655), Number.MAX_SAFE_INTEGER);

Tested and working on 64bit Windows and Unix operation systems.
*/

function cryptoRandomNumber(minimum, maximum){
	var distance = maximum-minimum;
	
	if(minimum>=maximum){
		console.log('Minimum number should be less than maximum');
		return false;
	} else if(distance>281474976710655){
		console.log('You can not get all possible random numbers if range is greater than 256^6-1');
		return false;
	} else if(maximum>Number.MAX_SAFE_INTEGER){
		console.log('Maximum number should be safe integer limit');
		return false;
	} else {
		var maxBytes = 6;
		var maxDec = 281474976710656;
		
		// To avoid huge mathematical operations and increase function performance for small ranges, you can uncomment following script
		/*
		if(distance<256){
			maxBytes = 1;
			maxDec = 256;
		} else if(distance<65536){
			maxBytes = 2;
			maxDec = 65536;
		} else if(distance<16777216){
			maxBytes = 3;
			maxDec = 16777216;
		} else if(distance<4294967296){
			maxBytes = 4;
			maxDec = 4294967296;
		} else if(distance<1099511627776){
			maxBytes = 4;
			maxDec = 1099511627776;
		}
		*/
		
		var randbytes = parseInt(crypto.randomBytes(maxBytes).toString('hex'), 16);
		var result = Math.floor(randbytes/maxDec*(maximum-minimum+1)+minimum);
		
		if(result>maximum){
			result = maximum;
		}
		return result;
	}
}

但是,并非在所有情况下都有效,例如当您在innerHTML页面中使用反斜杠时。