我们正在使用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 Web Framework? 一年后.
我的问题的原因是,一年内发生了很多事情,游戏框架已经成熟等等,我想知道今天的热门话题.今天框架的优点和缺点是什么?
(问题来自网站管理员.)
曾经有人告诉我,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)
>> 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) java ×2
bash ×1
escaping ×1
freemarker ×1
javascript ×1
json ×1
linux ×1
performance ×1
python ×1
scrapy ×1
spring ×1
web-services ×1