我尝试使用jsf创建一个简单的表单。 这是我的Java代码:
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean(name = "helloWorld", eager = true)
@SessionScoped
public class HelloWorld {
private String name;
private String message;
public void createMessage() {
message = "Hello, " + name + "!";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMessage() {
return message;
}
public void setMessage(){
message = "Hello, " + name + "!";
}
}
这是我的home.xhtml文件:
<!DOCTYPE html>
<html lang="en"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<h:head>
<title>Hello, World!</title>
</h:head>
<h:body>
<h:form>
<h:outputLabel for="name" value="Enter your name" required="true" />
<h:inputText id="name" value="#{helloWorld.name}" />
<h:message for="name" />
<br />
<h:commandButton value="Say hello" action="#{helloWorld.createMessage}">
<f:ajax execute="@form" render="@form" />
</h:commandButton>
<br />
<h:message value="{helloWorld.message}" />
</h:form>
</h:body>
</html>
当我尝试在此地址下的浏览器中打开它时:http://localhost:8080/helloworld/home.jsf 它显示一个文本&#34;输入你的名字&#34;,一个文本框和一个标题为&#34的按钮;打个招呼&#34;在它下面。但是,当我点击按钮时,没有任何反应。你能告诉我,为什么?我已经将它与其他许多例子进行了比较,它们看起来很相似。任何建议都会受到欢迎,因为我是这个jsf的初学者。 如果您需要更多详细信息,请告诉我们。非常感谢提前:))