小编Sku*_*rpi的帖子

如何在freemarker中转义json字符串

我们正在使用Spring MVC和freemarker作为模板语言构建一个restful api.我们选择在freemarker中构建json响应

示例freemarker.ftl:

{
"field1" : "${response.value1}",
"field2" : "${response.value2}"
}
Run Code Online (Sandbox Code Playgroud)

当值中的字符串包含引号(或JSON语法中的任何其他字符)时,我们会遇到问题.

问题:如何使用freemarker来逃避这些字符串?

我们已经查看过?xml或者?html没有涵盖所有相关字符(例如\).

编辑: ?js_string将转义字符串以符合JavaScript.由于JSON基于JavaScript(JavaScript Object Notation),因此它可以工作.

编辑2:如果单引号弹出,?js_script将逃脱它再次导致无效的JSON.它的修补程序是:

${variable?js_string?replace("\\'", "\'")} 
Run Code Online (Sandbox Code Playgroud)

如果你真的想挑剔:

${variable?js_string?replace("\\'", "\'")?replace("\\>",">")}
Run Code Online (Sandbox Code Playgroud)

或者,如果您使用Spring:http://www.springsurf.org/sites/1.0.0.M3/spring-webscripts/spring-webscripts-documentation/reference/html-single/index.html#js-api-index- org.springframework.extensions.webscripts.json.jsonutils

java spring json freemarker escaping

20
推荐指数
1
解决办法
2万
查看次数

选择一个java web framework 2011

我的问题基于以下问题:现在选择Java Web Framework? 一年后.

我的问题的原因是,一年内发生了很多事情,游戏框架已经成熟等等,我想知道今天的热门话题.今天框架的优点和缺点是什么?

java web-services web-applications web-frameworks

7
推荐指数
1
解决办法
5347
查看次数

使用单个或多个var语句声明变量.表现明智

(问题来自网站管理员.)

曾经有人告诉我,Javascript性能最好使用一个var语句而不是多个.

// Version A. Allegedly Faster
var a = 1,
    b = 2,
    c = 3;

// Version B. Allegedly Slower
var a = 1;
var b = 2;
var c = 3;
Run Code Online (Sandbox Code Playgroud)

这背后的原因是:对于每个var语句,Javascript将开始分配内存然后以分号停止.然而,如果您只有一个var语句,那么许多JS实现将优化它并为同一个调用中的所有变量分配空间.从而使事情变得更快.

然而,当谷歌搜索确认这一点时,我只发现有关如何从维护的角度考虑第二个例子更简单的咆哮.有些人不同意. 这个JSPerf测试 sais没有区别.

所以我的问题是:从性能的角度来看,有没有理由A或B版会更好?

(在没有编写"var"声明的情况下,您确实节省了几个字节,但这是在向浏览器传递数据时.这个问题包括服务器端JS)

javascript performance

5
推荐指数
1
解决办法
331
查看次数

如何使python程序使用不同的安装

>> which python
/usr/bin/python
>> python --version
Python 2.4.x
Run Code Online (Sandbox Code Playgroud)

我的问题很简单,如何在不同的python安装上运行python程序(例如/ usr/bin/python26)?

我希望能够使用与默认安装不同的python安装来运行Scrapy,但这个问题适用于在类Unix系统上运行的Python编写的任何程序.

编辑:为了澄清,我想运行一个其他人写的安装程序,通常运行如下:

scrapy crawl blaha
Run Code Online (Sandbox Code Playgroud)

不是这样的:

python scrapy crawl blaha
Run Code Online (Sandbox Code Playgroud)

python linux bash scrapy

1
推荐指数
1
解决办法
879
查看次数