JBoss EL 解析器在线文档中有这句话 :
充分理解这个 EL 扩展是如何工作的很重要。呈现页面时,会存储参数名称(例如,hotel.id 和 user.username),并在提交页面时评估(作为值表达式)。您不能将对象作为参数传递!
但是我在我的项目中使用了对象作为函数参数,然后我不小心读到了这个提示并且它起作用了!这怎么可能?我怕现在有什么魔法……
编辑:请注意,我实际上使用完全有价值的对象作为参数,而我们的框架堆栈(MyFaces、Facelets、Trinidad、Spring、Webflow)没有任何问题,我在问这怎么可能。例如,我可以在 xhtml 模板中执行此操作:“#{pageBean.formatAccount(account)}”,其中 account 是非常复杂的类。我知道根据文档,它不应该是可能的,但它是。我应该害怕将来遇到一些困难吗?这就是问题所在。