我在:inputFileUpload里面的表单,在显示页面的html中,这个组件的id是form:inputFile但是当我试图从视图根目录中使用"form:inputFile"获取组件时返回为null,但是当删除"form:"返回的是组件.组件没有在我的托管bean中设置值,有人有这个问题吗?
编辑:
<h:form id="form" enctype="multipart/form-data">
<t:inputFileUpload id="inputFile" size="40" value="#{managedBean.inputFile}"/>
</h:form>
Run Code Online (Sandbox Code Playgroud)
在托管bean中:
private UploadedFile inputFile;
Run Code Online (Sandbox Code Playgroud)
使用Eclipse提供的gets和sets.
//This method scans the view root and returns the component with the id passed as parameter
findComponentInRoot("form:inputFile");
Run Code Online (Sandbox Code Playgroud)
这返回null,但是当我使用时:
//This method scans the view root and returns the component with the id passed as parameter
findComponentInRoot("inputFile");
Run Code Online (Sandbox Code Playgroud)
返回是我正在寻找的组件,但是当我在Internet Explorer中使用View Source时,该组件的id是"form:inputFile".
我不知道这是否相关,但组件没有在我的托管bean中设置值,并且奇怪的是组件的id与HTML源不同.我正在使用JSF 1.2 Mojarra.有人有这个问题吗?或者知道为什么会这样?
编辑2:好的,我非常愚蠢,显然构建工作不正常,当构建从Ant更改为其他任务时它工作(仍然不知道为什么,但只是工作).抱歉,添麻烦了.
我可以尝试发布并解释我正在尝试运行的确切查询,但我会按照古老的格言说,"给一个人一条鱼,他会吃一天,教一个人钓鱼,他他将度过余生." SQL优化似乎非常特定于查询,即使您可以为我解决这个特定查询,我将来还要编写更多查询,并且我希望了解索引的工作原理一般来说.
不过,这里是我当前问题的快速描述.我有一个连接三个表并在0.2秒内运行的查询.真棒.我添加了一个"order by"子句,它在4分30秒内运行.苏茨基.我对一个表进行了非规范化,因此只有少一个连接,在任何地方添加索引,现在查询运行... 20分钟.我勒个去?最后,我根本不使用连接,而是使用"where in(...)order by"的子查询,现在它在1.5秒内运行.相当体面.上帝的名字是怎么回事?我觉得如果我真的明白索引在做什么我可以写一些非常好的SQL.
有人知道一些很好的教程吗?谢谢!
我们必须使用delayed_job(或其他一些后台作业处理器)在后台运行作业,但我们不允许更改服务器上的启动脚本/启动级别.这意味着如果提供程序重新启动服务器,则不保证守护程序仍然可用(因为守护程序将由每个部署仅运行一次的capistrano配方启动).
目前,我能够想到确保delayed_job守护程序始终运行的最佳方法是向我们的Rails应用程序添加初始化程序,以检查守护程序是否正在运行.如果它没有运行,那么初始化器启动守护进程,否则,它就会离开它.
因此,问题是我们如何检测到Delayed_Job守护程序是从脚本内部运行的?(我们应该能够相当容易地启动一个守护进程,我不知道如何检测一个守护进程是否已经激活).
有人有主意吗?
此致,伯尼
基于下面的答案,这就是我提出的.只需将它放在config/initializers中就可以了:
#config/initializers/delayed_job.rb
DELAYED_JOB_PID_PATH = "#{Rails.root}/tmp/pids/delayed_job.pid"
def start_delayed_job
Thread.new do
`ruby script/delayed_job start`
end
end
def process_is_dead?
begin
pid = File.read(DELAYED_JOB_PID_PATH).strip
Process.kill(0, pid.to_i)
false
rescue
true
end
end
if !File.exist?(DELAYED_JOB_PID_PATH) && process_is_dead?
start_delayed_job
end
Run Code Online (Sandbox Code Playgroud) ruby ruby-on-rails background-process ruby-on-rails-plugins delayed-job
我的测试套件只需要5秒才能启动,这是正常的吗?即使在运行空套件时,它仍然需要很长时间.是因为它在每次运行时都会启动一个新的rails实例吗?如果是这样,无论如何都要坚持下去吗?
例:
rlepidi@rlepidi:~/projects/rails/my_project$ time rake test
/usr/bin/ruby1.9.1 -I"lib:test" "/var/lib/gems/1.9.1/gems/rake-0.8.7/lib/rake/rake_test_loader.rb" "test/unit/release_test.rb"
Loaded suite /var/lib/gems/1.9.1/gems/rake-0.8.7/lib/rake/rake_test_loader
Started
Finished in 0.000181867 seconds.
0 tests, 0 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
0% passed
real 0m4.173s
user 0m3.820s
sys 0m0.288s
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,这个空测试非常快,但由于某些原因仍然有4秒的开销.我正在使用Test :: Unit和Shoulda.
我不确定为什么没有在Binding上调用该属性.这是代码:
<myusercontrol
Text ="{Binding Description, UpdateSourceTrigger=LostFocus,Mode=TwoWay, ValidatesOnDataErrors=True}"
IsReadOnly ="{Binding AllowEditing}"
/>
Run Code Online (Sandbox Code Playgroud)
这是myusercontrol IsReadOnly属性:
public static DependencyProperty IsReadOnlyProperty = DependencyProperty.Register("IsReadOnly", typeof (bool),
typeof (
myusercontrol));
public bool IsReadOnly
{
get
{
return ((bool) GetValue(IsReadOnlyProperty));
}
set
{
MessageBox.Show(value.ToString());
SetValue(IsReadOnlyProperty, !value);
OnPropertyChanged("IsReadOnly");
}
}
Run Code Online (Sandbox Code Playgroud)
永远不会显示消息框!有任何想法吗!
我正在使用XML序列化程序.我希望它能转换我所有对象的元素,但只有在有值时才输出标签.
如何让它输出空标签?
我试图解析一个看起来像这样的日期:
yyyy-MM-dd'T'HH:mm:ss
Run Code Online (Sandbox Code Playgroud)
这是http://www.ietf.org/rfc/rfc3339.txt的有效日期."Z"字面意思"暗示UTC是指定时间内的首选参考点."
如果我尝试使用SimpleDateFormat和此模式解析它:
yyyy-MM-dd'T'HH:mm:ssz
yyyy-MM-dd'T'HH:mm:ssZ
Run Code Online (Sandbox Code Playgroud)
它将被解析为2010年4月5日17:16:00美国东部时间2010年
SimpleDateFormat无法使用以下模式解析字符串:
yyyy-MM-dd'T'HH:mm:ss
Run Code Online (Sandbox Code Playgroud)
我可以显式设置TimeZone在SimpleDateFormat上使用以获得预期的输出,但我不认为这是必要的.有什么我想念的吗?有替代日期解析器吗?
如果可能的话,参数在程序中需要怎么样?你如何将一个数组传递给一个程序?
我再一次进行了设计评审,并且遇到了一个声称特定情景的概率"低于宇宙射线的风险"影响该程序的说法,并且我发现我没有最微弱的想法是什么概率是.
"因为2 -128是340282366920938463463374607431768211456中的1个,我认为我们在这里抓住机会是合理的,即使这些计算已经减少了几十亿......我们对宇宙射线的风险更大我相信,把我们搞砸了."
这个程序员是否正确?宇宙射线撞击计算机并影响程序执行的概率是多少?
statistics physics probability error-detection risk-analysis
java ×2
arrays ×1
c# ×1
cocoa-touch ×1
components ×1
data-binding ×1
datetime ×1
delayed-job ×1
indexing ×1
iphone ×1
join ×1
jsf ×1
mysql ×1
objective-c ×1
oracle ×1
parsing ×1
php ×1
physics ×1
plsql ×1
probability ×1
procedure ×1
ruby ×1
sql-order-by ×1
statistics ×1
timezone ×1
unit-testing ×1
where-clause ×1
wpf ×1
xcode ×1