我使用JSF 2.0和Liferay的6.1init()方法调用在每次请求
在任何类型的请求,任何Java类我init()
获取调用。即使PrimeFaces组件调用其相关的PrimeFaces Java方法。这个方法在我的portlet初始化时只应该调用一次。
@ManagedBean
@ViewScoped
public class MyMangedBean {
public void init() {
System.out.println("Init method called");
}
}
请帮我找出可能的解决方案。
编辑
我发现分量这项事业背后
在我的XHTML文件我有
<bridge:inputFile id="MyFileUpload" size="50"
binding="#{myBean.toBeUploadFile}" onchange="{fileSelected(this);}" style="position: absolute;height: 29px;width:107px;opacity:0;filter: alpha(opacity=0);z-index:100;"/>
每当我删除其绑定属性。我的项目工作正常。它不会多次调用init()。但是我需要这个属性来上传我的文件。
我一直XML命名空间
xmlns:bridge="http://portletfaces.org/bridge"
我也曾在pom.xml中保持依赖于公共-10(1.3版本)和commons-filedownload(1.2.1)
我不知道还有什么我缺少这个组件或什么是这背后的实际原因。
你是如何引用该方法? –
当我的JSF portlet不应该调用之后,应该初始化这个方法。但在我的情况下,初始化后任何调用或请求任何其他后端java方法正在调用此方法。 –
给定的代码不足以理解您的具体问题,这似乎与liferay如何管理bean有关。 –