我想創建一個jsf應用程序,它在頁面刷新時增加計數器並生成兩個隨機數。什麼應該被顯示在窗口中可以是這個樣子:使用豆的隨機數
在您在您的卷X你扔x和x
對於這個節目,我決定創建兩個豆,一個持有頁面刷新計數器和一個生成一個隨機數。那些看起來像這樣的時刻:
CounterBean.java
package diceroll;
public class CounterBean
{
int count=0;
public CounterBean()
{
}
public void setCount(int count)
{
this.count=count;
}
public int getCount()
{
count++;
return count;
}
}
RandomNumberBean.java
package diceroll;
import java.util.Random;
public class RandomNumberBean {
int rand=0;
Random r = new Random();
public RandomNumberBean()
{
rand = r.nextInt(6);
}
public void setNextInt(int rand)
{
this.rand=rand;
}
public int getNextInt() {
return rand;
}
}
我已經然後創建的index.jsp顯示上述消息。
<html>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<f:view>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Roll the Dice</title>
</head>
<body>
<h:form>
<p>
On your roll #
<h:outputText value="#{CounterBean.count} " />
you have thrown <h:outputText value="#{RandomNumberBean.rand}" />and <h:outputText value="#{RandomNumberBean.rand} " />
</p>
</h:form>
</body>
</f:view>
</html>
然而,當我運行應用程序,我得到以下信息:
org.apache.jasper.el.JspPropertyNotFoundException:/index.jsp(14,20)「#{RandomNumberBean .rand}」屬性 '蘭特' 不是類型發現diceroll.RandomNumberBean
造成的: org.apache.jasper.el.JspPropertyNotFoundException - /index.jsp(14,20) '#{} RandomNumberBean.rand'在類型diceroll.RandomNumberBean上找不到屬性'rand'
我想有一個與我的faces-config.xml文件是錯誤的,所以我將在此位置爲好,看是否有人可以提供一些幫助:
faces-config.xml中
<?xml version="1.0" encoding="UTF-8"?>
<faces-config
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
version="2.0">
<managed-bean>
<managed-bean-name>CounterBean</managed-bean-name>
<managed-bean-class>diceroll.CounterBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>RandomNumberBean</managed-bean-name>
<managed-bean-class>diceroll.RandomNumberBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
</faces-config>
不'rand'但'nextInt'。並且託管bean屬性丟失。 – 2012-04-14 17:30:17
這似乎是部分工作,因爲現在我沒有收到錯誤信息!但我得到的唯一的數字是1.所以消息看起來像這樣: '在你的卷#1上拋出1和1' '在你的卷#2上拋出1和1' 等等 – 2012-04-14 17:33:52
我修好了它。我只需要移動'rand = r.nextInt(6);'在我的getter中! – 2012-04-14 17:38:46