我添加了一个PhaseListener到faces-config.xml:
<lifecycle>
<phase-listener>com.project.NotificationListener</phase-listener>
</lifecycle>
Run Code Online (Sandbox Code Playgroud)
这个类似乎是正确的,因为它非常简单.
public class NotificationListener implements PhaseListener {
@Inject
private MyCDIStuff stuff;
@Override
public PhaseId getPhaseId() {
return PhaseId.RENDER_RESPONSE;
}
@Override
public void beforePhase(PhaseEvent event) {
this.stuff.doStuff();
}
}
Run Code Online (Sandbox Code Playgroud)
'beforePhase'方法被正确调用,但MyCDIStuff对象为null.我尝试使用@Singleton最可能不正确的类的注释,并且它也没有使注入工作.
有没有办法注入CDI托管bean PhaseListener?
我找不到关于如何使一个项目在两个(或更多)行上显示的primefaces数据表示例.我需要在数据表中显示一个关于这样的项目:
<table>
<tr>
<td>Text 1 from entry</td>
<td>Text 2 from entry</td>
</tr>
<tr>
<td colspan="2">Text 3 from entry</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
它可以完成,还是应该使用其他标记来渲染?
我试过了:
...xmlns:p="http://primefaces.org/ui"...
<p:dataTable var="item" value="#{bean.items}">
<p:column>
<p:row>
<p:column>
<h:outputText value="#{item.title}" />
</p:column>
<p:column>
<h:outputText value="#{item.shortText}" />
</p:column>
</p:row>
<p:row>
<p:column colspan="2">
<h:outputText value="#{item.longText}" />
</p:column>
</p:row>
</p:column>
</p:dataTable>
Run Code Online (Sandbox Code Playgroud)
但显然这是错误的和/或我误解了使用'p:row'的概念.我找不到任何关于如何正确做到这一点的解释,所以任何建议都将不胜感激.
如何使用 Dockerfile 在 Docker 容器内创建空文件夹?
我想我可以将一个空文件夹从源作为空的“备份”目录复制到容器中,如下所示:
COPY empty_dir backup
Run Code Online (Sandbox Code Playgroud)
...但我想做的只是创建文件夹而不引用任何现有内容。
在容器中运行的脚本稍后需要访问此文件夹以将一些备份文件复制到其中。Dockerfile 中是否有像MKDIR
这样的命令可以使用?
简单的问题,但找不到答案(至少很容易)。