【问题标题】:JSF Managed bean method does not triggered when form is submitting提交表单时未触发 JSF 托管 bean 方法
【发布时间】:2016-06-20 15:53:53
【问题描述】:

我制作了一个表格来将一些数据添加到我的数据库中。这是我的html编码。当我单击提交按钮时,go() 方法不会触发。这是为什么?

<form jsf:id="formAddDesignation">
                            <br/>
                            <div class="row">
                                <div class="col-xs-4">Designation Name</div>
                                <div class="col-xs-6">
                                    <input type="text" required="true" jsf:value="#{designationBean.designationName}" placeholder="Designation name" jsf:id="designationName" class="form-control" />
                                </div>
                            </div>
                            <br/>
                            <div class="row">
                                <div class="col-xs-4">Designation Description</div>
                                <div class="col-xs-6">
                                    <textarea class="form-control" jsf:value="#{designationBean.designationDescription}" placeholder="Designation description"></textarea>
                                </div>
                            </div>
                            <br/>
                            <div class="row" style="padding-right:  54px">
                                <button type="submit" jsf:id="btnAddDesignation" jsf:action="#{designationBean.go()}" class="btn btn-default col-xs-5 col-xs-offset-8 pull-right">Login
                                    <f:ajax  execute="formAddDesignation" render="logs" />
                                </button>
                            </div>

                        </form>

托管 Bean (CDI)

@Named(value = "designationBean")
@RequestScoped
public class DesignationBean implements Serializable {

    private String designationName;

    private String designationDescription;

    private Boolean status;


    public DesignationBean() {
        System.out.println("dddeeeee");
    }

    @PostConstruct
    public void init() {
        status = false;
        System.out.println("ddddddddd");
        designationName = "dddd";

    }

    public String getDesignationName() {
        return designationName;
    }

    public void setDesignationName(String designationName) {
        this.designationName = designationName;
    }

    public String getDesignationDescription() {
        return designationDescription;
    }

    public void setDesignationDescription(String designationDescription) {
        this.designationDescription = designationDescription;
    }

    public Boolean getStatus() {
        return status;
    }

    public void setStatus(Boolean status) {
        this.status = status;
        System.out.println("status");
    }

    public String go(){
        System.out.println("Method is clicked");
        return "clicked";
    }

}

【问题讨论】:

  • '不触发'是非常有限的信息。是请求发送到服务器。任何日志记录中的任何错误?你检查了stackoverflow.com/questions/2118656/…上的所有内容吗?
  • 如果我没记错的话, type="submit" 是不需要的,但我不确定(不要自己使用'html友好方式'

标签: jsf cdi


【解决方案1】:

只尝试不带括号的“designationBean.go”。据我记得,你没有放括号!

【讨论】:

  • 请告诉我是不是问题!
猜你喜欢
  • 1970-01-01
  • 2011-03-24
  • 1970-01-01
  • 2013-04-16
  • 2013-01-24
  • 1970-01-01
  • 1970-01-01
  • 2014-07-02
  • 2023-03-05
相关资源
最近更新 更多