有没有简单的JSF commandButton样本?

Bri*_*uch 2 java jsf java-ee-6 jsf-2

我一直在努力尝试让我的commandButtons执行一个动作(但奇怪的是,我没有问题从bean中提取数据以包含在我的页面中).甚至在其他地方发布了我的代码并由其他人审核过.到目前为止,没有运气.所以,我想也许是一个不同的机智.任何人都可以向我指出一个项目的非常简单/基本的示例代码,该代码具有能够成功调用动作的commandButton吗?

Bal*_*usC 6

初学者的一个共同原因<h:form>是被遗忘了.根据HTML规范,任何旨在向服务器端提交内容的提交按钮都应放在HTML <form>元素中.

这是一个简单的Hello World如何在JSF中执行此操作:

JSF页面

<!DOCTYPE html>
<html 
    xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html">
    <h:head>
        <title>Hello World</title>
    </h:head>
    <h:body>
        <h:form>
            Enter your name
            <h:inputText value="#{bean.input}" />
            <h:commandButton value="submit" action="#{bean.submit}" />
        </h:form>
        <h:outputText value="#{bean.output}" />
    </h:body>
</html>
Run Code Online (Sandbox Code Playgroud)

豆:

package mypackage;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

@ManagedBean
@RequestScoped
public class Bean {

    private String input;
    private String output;

    public void submit() {
        output = String.format("Hello %s!", input);
    }

    public String getInput() {
        return input;
    }

    public String getOutput() {
        return output;
    }

    public void setInput(String input) {
        this.input = input;
    }

}
Run Code Online (Sandbox Code Playgroud)

就这样 :)

有关此问题的其他可能原因,请检查下面列表中的第一个链接.

也可以看看: