所以我正在努力让一个示例应用程序工作.我正在使用Primefaces 3.3M4-SNAPSHOT,JBOSS 7 web profile(CDI和JSF Mojarra).
我有我的支持bean:
@Named
@ViewScoped
@URLMapping(id = "viewEditor", pattern = "/editor/e", viewId = "/editor/editor.jsf")
public class ViewEditor implements Serializable {
public void deleteNode() {
selectedNode.getChildren().clear();
selectedNode.getParent().getChildren().remove(selectedNode);
selectedNode.setParent(null);
selectedNode = null;
}
}
Run Code Online (Sandbox Code Playgroud)
我的xhtml:
<p:contextMenu for="docs">
<p:menuitem value="View" update="documentPanel"
icon="ui-icon ui-icon-search" oncomplete="documentDialog.show()" />
<p:menuitem value="Delete"
actionListener="#{viewEditor.deleteNode}" update="docs"
icon="ui-icon ui-icon-close" />
</p:contextMenu>
Run Code Online (Sandbox Code Playgroud)
当我运行我的应用程序时,这是我得到的例外:
javax.el.ELException: /editor/editor.xhtml: The class 'application.ViewEditor$Proxy$_$$_WeldClientProxy' does not have the property 'deleteNode'.
com.sun.faces.facelets.compiler.AttributeInstruction.write(AttributeInstruction.java:94)
com.sun.faces.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:82)
com.sun.faces.facelets.compiler.UILeaf.encodeAll(UILeaf.java:183)
javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
Run Code Online (Sandbox Code Playgroud)
有没有人像我一样遇到同样的问题?
我是Agorava的技术主管,Agorava是一个帮助消费社交网络数据的框架.
今天,Agorava基于CDI构建,以简化其在Java EE堆栈中的使用,但我们希望为Dagger提供一个实现,以便为Android提供更轻松的解决方案.
我的问题是:我们可以在CDI和Dagger实现之间共享通用的JSR 330兼容代码吗?换句话说,是否有可能与匕首在罐子轴承JSR 330注释已经编译代码和源代码延伸或在一个特定匕首罐使用此代码(与@Provides,@Modules和其他匕首特定项目)?
如果答案是否,是否有任何问题用Dagger编译器编译我的常见JSR 330 jar并在我的CDI实现中使用它?更准确地说@Inject,限定符和其他JSR 330细节仍然可以在运行时使用,带有这些注释代码的类是否仍然不受Dagger编译器的影响?最后是否有一种关于Dagger生成的代码(类名,注释)的跟踪器,以允许CDI检测它并忽略它?