我试图通过PrimeFaces
面板在面板上显示随机数。我有以下xhtml
代码:
<h:form>
<p:growl id="msgs" showDetail="true" />
<p:panel id="basic" header="Random Number" style="margin-bottom:20px">
<h:panelGrid columns="2" cellpadding="10">
<h:outputText value="#{randomnum.number}" />
</h:panelGrid>
</p:panel>
</h:form>
此面板调用randomnum.number
,就像这样
import java.io.Serializable;
import java.util.Random;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
@ManagedBean
@RequestScoped
public class randomnum implements Serializable {
private int number;
public randomnum() {
}
public int getNumber() {
return number;
}
@PostConstruct
public void init() {
Random r = new Random();
int Low = 10;
int High = 100;
number = r.nextInt(High-Low) + Low;
System.out.println("Random Number :"+number);
}
}
但是当我运行我的xhtml
代码时,我看到了面板,但我内部没有看到任何内容。此外,控制台上不显示System.out.println()
输出。我该如何解决这个问题?我的基本目标是当我运行xhtml代码时,必须在面板上显示一个随机数。
答案 0 :(得分:1)
解决方案是根据Java代码约定使用名为correct的类:http://www.oracle.com/technetwork/java/codeconventions-135099.html
TL; DR: 将您的班级“randomnum”重命名为“Randomnum”。
这样JSF就会找到Bean,实例化它,调用@PostConstruct并显示值。