【问题标题】:Any simple JSF commandButton samples available?有可用的简单 JSF commandButton 示例吗?
【发布时间】:2011-03-09 03:42:17
【问题描述】:

我一直在努力让我的 commandButtons 执行操作(但奇怪的是,我从 bean 中提取数据以包含在我的页面中没有问题)。甚至将我的代码发布到其他地方,并让其他人对其进行审查。到目前为止,没有运气。所以,我在想也许是一种不同的机智。谁能指出一个项目的一些非常简单/基本的示例代码,它有一个能够成功调用操作的命令按钮?

【问题讨论】:

    标签: java jsf jsf-2 java-ee-6


    【解决方案1】:

    初学者的一个常见原因是<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>
    

    豆子:

    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;
        }
    
    }
    

    就是这样:)

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

    另见:

    【讨论】:

    • 太棒了!现在按钮实际上做了一些事情而不是被忽略! (它现在只是崩溃了,但这是一个可以解决的问题)。 :-)
    • 不客气。未来问题的提示:在浏览器中右键单击页面,查看源代码并验证生成的 HTML 输出。如果您已经对 webdev 有点了解,那么您应该很快就会注意到缺少&lt;form&gt;。
    • 上次我做 webdev,我们在后端使用 CGI 接口和 C 应用程序。我永远不会注意到丢失的
      ... :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-09
    • 2018-02-01
    • 2017-12-28
    • 1970-01-01
    • 2012-09-02
    相关资源
    最近更新 更多