我在JSF中是全新的。我正在使用本教程:https://www.tutorialspoint.com/jsf 據此我創建了第一個項目。下面是Java代碼:使用JSF顯示消息
package com.tutorialspoint.test;
import javax.faces.bean.ManagedBean;
@ManagedBean(name = "helloWorld", eager = true)
public class HelloWorld {
public HelloWorld() {
System.out.println("HelloWorld started!");
}
public String getMessage() {
return "Hello World!";
}
}
這是home.xhtml文件:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns = "http://www.w3.org/1999/xhtml">
<head>
<title>JSF Tutorial!</title>
</head>
<body>
#{helloWorld.getMessage()}
</body>
</html>
當我進入這個地址在我的瀏覽器
:「JSF教程」 http://localhost:8080/helloworld/home.jsf選項卡的標題顯示,但內容(文本「你好世界」不是。我可以問你一些提示什麼可以丟失? 如果您需要更多的信息/其他文件的代碼,請讓我知道。 順便說一句,我是。使用Wildfly 10.1.0,那是我部署更新的.war文件的應用程序服務器 預先感謝
它看起來像缺少代碼示例中的一些元素,例如'@ManagedProperty(value =「#{message}」)'看起來很重要。 – Clay
而不是那個教程,我寧願去完全像這樣的2.x集中:https://stackoverflow.com/documentation/jsf/916/getting-started-with-jsf/3036/installing-jsf#t = 201706200625292197528順便說一句,通過getter這種方式訪問屬性:'#{helloWorld.message}'。但是,你仍然缺乏一些信息。託管的bean是否被創建?你得到面臨servlet(javax.faces.webapp.FacesServlet)命中嗎?你需要做一些調試工作。 –
如果用''(將名稱空間聲明添加到)並在瀏覽器中執行頁面的視圖源來替換'#helloWorld.message'會怎麼樣?那麼你看到了什麼? –
Kukeltje