如果有人能向我解释为什么这是非法的,我将不胜感激:
rule "some rule name"
when
$a : A($bset : bset)
$bset contains B(x == "hello")
then
//do something
end
Run Code Online (Sandbox Code Playgroud)
哪里:
public class A {
private Set<B> bset = new HashSet<B>();
//getters and setters for bset
//toString() and hashCode for A
public static class B {
private String x
//getters and setters for x
//toString() and hashCode() for B
}
}
Run Code Online (Sandbox Code Playgroud)
来自Drools eclipse插件的错误不是很有帮助.它提供以下错误:
[ERR 102]第23:16行在规则"某些规则名称"中输入'包含'不匹配
该错误出现在"bset contains ..."的行上
我已经搜索了Drools文档,以及我所拥有的一本书,并且没有发现这些例子在这方面非常具有说明性.
我正在Tomcat 6上使用Primefaces 3.3.1编写JSF 2.0 Mojarra应用程序.使用PrimeFaces <p:calendar>组件,我需要禁用将来的日期.我意识到我必须将maxdate属性设置为当前日期.但是,我不确定最简单的方法是什么.
我意识到我可以创建一个Managed Bean java.util.Date,但这是一个国际应用程序,我需要考虑用户的位置.如果用户位于世界的另一端,则服务器日期对他来说可能不正确.
那么,在用户位置检索当前日期的最简单方法是什么,并将<p:calendar>maxdate属性设置为等于该值? 如果可能的话,完全客户端解决方案将是理想的.