我的JSP页面需要根据它们所处的环境(开发,生产,沙箱等)显示不同的信息.我希望每个环境都有一个属性文件,其中包含它们可能需要的所有参数.如何在JSP页面中引用此文件的属性?
我的想法是:
更新 - 我应该提到我使用的是Spring 3.0和Spring webmvc.所以,如果有一些最好的实践方法,使用Spring做到这一点,这是理想的!
我们现在正在使用GWO(Google网站优化工具).多变量和A/B测试正是我们所需要的,并且从显示用户变化的角度来看效果很好.但是,我们有几个问题让我想要使用不同的工具:
是否有像GWO这样的好工具可以与Google Analytics(我喜欢)一起使用?
更新:我们选择了Optimizely并且一直很高兴.但是,它可能很难处理,因为它对你来说有点太多了.您可以直接从他们的UI编辑您的网页,但这当然并不容易,甚至可能.特别是当涉及Javascript时.我们的UI经常在这个过程中搞砸了.我喜欢GWO的方法,因为开发人员将代码分开,营销人员可以用开发人员允许的变量填写这些部分.对我来说这是理想的,除了GWO,当然,实际上并不起作用.
Optimizely的竞争对手名为Visual Website Optimizer.看起来也很漂亮,但我上面描述了同样的问题.
是否有GWO有效?
javascript google-analytics google-website-optimizer multivariate-testing optimizely
在我的Flex应用程序中,我需要一个Javascript控件来调用我的一个Actionscript方法.很简单,根据Flex/Actionscript文档,我在我的Actionscript代码中写了这个:
if (ExternalInterface.available)
ExternalInterface.addCallback("setName", setNameInActiveWindow);
Run Code Online (Sandbox Code Playgroud)
在Javascript控件中我写道:
document.getElementById('FlexAppId').setName(name);
Run Code Online (Sandbox Code Playgroud)
效果很好.完全符合预期,所以我去了生产.但它在生产中不起作用:(.相同的代码......我无法弄清楚.上面的Javascript代码是运行的,但是回调没有在Actionscript代码中执行.
这与域名安全有关吗?在本地,我使用local.mydomain.com:8080,其中local.mydomain.com解析为127.0.0.1(我需要这样做,以便一些小部件正常工作).Flex应用程序来自同一个本地Web服务器.然而,在生产中,它只是www.mydomain.com(mydomain.com不是真正的域名),Flex应用程序来自flash.mydomain.com(CDN).
我在www.mydomain.com上有一个crossdomain.xml文件:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="master-only"/>
<allow-access-from domain="*.mydomain.com"/>
</cross-domain-policy>
Run Code Online (Sandbox Code Playgroud)
更新:我尝试更改本地环境,以便从flash.mydomain.com引用Flex应用程序,就像在生产中一样.事实证明我在本地也遇到了同样的问题...所以看起来这是某种域安全问题,尽管我上面有crossdomain.xml文件.我是否需要在crossdomain.xml中更改某些内容?我还需要一些额外的ExternalInterface.addCallback工作吗?
更新2:得到它的工作!我不得不这样做既Security.allowDomain("*")和Security.allowInsecureDomain("*").将其设置为flash.mydomain.com没有解决问题,我不得不放一个通配符.allowNetworking没有效果.我需要allowScriptAccess="always",但我从那以后就有这个.ExternalInterface.call只需使用该参数即可轻松调用Javascript.但是添加回调ExternalInterface.addCallback需要使用带有通配符的上述安全方法.
刚刚在mac os x 10.6上安装了MySQL 5.5,并且在许多表上都有一个奇怪的问题.以下是一个例子.插入行失败时带有外键约束,但不应该.它引用的外键确实存在.有任何想法吗?
mysql> show create table Language;
+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Language | CREATE TABLE `Language` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`Code` varchar(2) NOT NULL,
`Name` varchar(63) CHARACTER SET utf8 DEFAULT NULL,
`Variant` varchar(63) CHARACTER SET utf8 DEFAULT NULL,
`Country_Id` int(11) DEFAULT NULL,
PRIMARY KEY (`Id`),
UNIQUE KEY `Code` (`Code`,`Country_Id`,`Variant`),
KEY `FKA3ACF7789C1796EB` (`Country_Id`),
CONSTRAINT `FKA3ACF7789C1796EB` FOREIGN KEY (`Country_Id`) REFERENCES `Country` (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 |
+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in …Run Code Online (Sandbox Code Playgroud) 我正在使用jQuery做一个简单的AJAX帖子,效果很好:
var parameters = {firstName: 'John', lastName: 'Smith'};
$.post('http://api.example.com/rest', parameters, function(data) {
alert('Response: ' + data.someResult);
});
Run Code Online (Sandbox Code Playgroud)
但是,当我向参数添加数组时,如下所示:
var parameters = {firstName: 'John', lastName: 'Smith', children: ['Susy', 'Billy']};
Run Code Online (Sandbox Code Playgroud)
然后问题是在POST到服务器时参数名称children被更改为children[](它实际上是URL编码children%5B%5D).我无法更改服务器以查找名称参数,children[]所以我该怎么办?如何使用名称发布多个值children?为什么jQuery会更改我的参数名称?
我有很多配置文件可以修改我的应用程序的行为方式.我希望能够进行更改,并在保存文件时立即反映在应用程序中.有没有Java库来帮助解决这个问题?
我可以简单地保存一个带有时间戳的文件列表,并在时间戳发生变化时不断检查后台线程.似乎并不太难,但也许有更有效的方法来做到这一点?某些属性更改后的自定义触发器会很好.
我使用的是Spring 3.1,是否有内置的机制或解决方案可以很好地与Spring配合使用?
更新:显然JDK7现在通过其 Watch Service API包含此功能:"大多数文件系统实现都具有对文件更改通知的本机支持.Watch Service API利用此支持(如果可用).但是,当文件系统不支持此机制时,Watch Service将轮询文件系统,等待事件." 所以这是我迁移到JDK7的动力.
我正在使用Rails 3.2.8.如果状态记录尚不存在,我需要创建状态记录.如果存在状态记录,我什么都不做.所以我的代码是这样的:
user_level_status = UserLevelStatus.where(user_id: user_id, level_id: level_id).first
if !user_level_status
UserLevelStatus.create(user_id: user_id, level_id: level_id, status: UserLevelStatus::READY)
end
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来处理Rails/ActiveRecord?有没有相同的机制find_or_create_by_?我可以使用find_or_create_by_user_id并检查level_id吗?我只是放弃了结果,所以即便这样也不那么优雅.
sql activerecord ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2
URL中的每个参数都可以有多个值.我该如何分开它们?这是一个例子:
http://www.example.com/search?queries=cars,phones
Run Code Online (Sandbox Code Playgroud)
所以我想搜索两种不同的东西:汽车和手机(这只是一个人为的例子).问题是分隔符,一个逗号.用户可以在搜索表单中输入逗号作为查询的一部分,然后这会搞砸.我可以有2个单独的URL参数:
http://www.example.com/login?name1=harry&name2=bob
Run Code Online (Sandbox Code Playgroud)
那里没有真正的问题,事实上我认为这就是设计URL来处理这种情况的方法.但我不能在我的特殊情况下使用它.需要一个单独的长帖来说明原因......我需要简单地分离值.
我的问题基本上是,是否有一个URL可编码的字符或值,不能以表格(textarea或输入)输入,我可以用作分隔符?像空字符?还是一个不可见的角色?
更新:谢谢大家的快速回复.我也应该列出相同的参数名称示例,但在我的情况下,顺序也很重要,因此也不是一个选项.我们通过使用%00 URL编码字符(UTF-8\u0000)作为值分隔符来解决此问题.
我经常需要使用Rails控制台rails c.然后我运行一些循环遍历模型记录的语句.我需要输出信息,但所有的SQL代码都会被遍布.喜欢:
Students.all.each {|s| puts s.inspect unless s.attendance};nil
Run Code Online (Sandbox Code Playgroud)
我把它nil放在最后,所以我不会得到所有学生的丑陋.这是输出:
Student Load (4.3ms) SELECT "students".* FROM "students"
Attendance Load (3.6ms) SELECT "attendances".* FROM "attendances" WHERE "attendances"."id" = 2694 LIMIT 1
Attendance Load (2.7ms) SELECT "attendances".* FROM "attendances" WHERE "attendances"."id" = 2695 LIMIT 1
Attendance Load (4.9ms) SELECT "attendances".* FROM "attendances" WHERE "attendances"."id" = 2689 LIMIT 1
#<Student id: 3, attendance_id: 2689, teacher_id: 6, began_at: "2013-05-21 19:16:37", finished_at: "2013-05-21 20:34:33", created_at: "2013-05-21 19:16:37", updated_at: "2013-05-21 20:34:33">
Attendance Load …Run Code Online (Sandbox Code Playgroud) ruby-on-rails irb rails-console ruby-on-rails-3 ruby-on-rails-4
在JavaScript中的字符串中插入变量的最佳方法是什么?我猜它不是这个:
var coordinates = "x: " + x + ", y: " + y;
Run Code Online (Sandbox Code Playgroud)
在Java中,Strings是不可变的,并且执行类似上面的操作会不必要地创建并抛弃Strings.Ruby是类似的,有一个很好的方法来做到这一点:
coordinates = "x: #{x}, y: #{y}"
Run Code Online (Sandbox Code Playgroud)
JavaScript存在类似的东西吗?
javascript ×2
parameters ×2
spring ×2
activerecord ×1
ajax ×1
apache-flex ×1
database ×1
file-io ×1
flash ×1
flex4 ×1
foreign-keys ×1
html ×1
irb ×1
java ×1
java-ee ×1
java-ee-6 ×1
jquery ×1
jsp ×1
jsp-tags ×1
mysql ×1
mysql5 ×1
optimizely ×1
parsing ×1
post ×1
servlets ×1
spring-mvc ×1
sql ×1
string ×1
url ×1
urlencode ×1