嵌套在ui:repeat中时,不会调用commandButton操作

时间:2018-08-06 14:42:37

标签: jsf commandbutton uirepeat

我正在jsf环境中工作。使用commandButton操作从xhtml页面中的控制器调用方法时面临一个问题。以下是该方案的

1)如果我使用过

<h:commandButton value="#{some.value}" action="#{myController.myMethod()}"></h:commandButton>

ui:repeat中的代码之上,则不会调用myController bean中的myMethod。但是在第二种情况下,

2)如果我使用相同的代码,

<h:commandButton value="#{some.value}" action="#{myController.myMethod()}"></h:commandButton>

上面没有ui:repeat的代码是从Bean正确调用myMethod。 以下是我的代码更改,

xHtml代码(无效)

            <tbody>
                <h:form>
                    <ui:repeat var="some" value="#{myController.someList}" varStatus="i">
                        <tr>
                            <td>
                                <div class="btn-group">
                                    <h:commandButton value="#{some.value}" action="#{myController.myMethod()}"></h:commandButton>
                                    <h:commandButton value="#{some.value}" action="#{myController.myMethod()}"></h:commandButton>
                                </div>
                            </td>
                        </tr>
                    </ui:repeat>
                </h:form>
            </tbody>

xHtml代码(正在运行)

            <tbody>
                <h:form>
                        <tr>
                            <td>
                                <div class="btn-group">
                                    <h:commandButton value="value" action="#{myController.myMethod()}"></h:commandButton>
                                    <h:commandButton value="value" action="#{myController.myMethod()}"></h:commandButton>
                                </div>
                            </td>
                        </tr>
                </h:form>
            </tbody>

我的控制器,

@ManagedBean(name = "myController")
@RequestScoped
public class MyController {

    public String myMethod() {
        String str = "myMethod executed successfully.";
        System.out.println(str);
        return str;
    }
}

我希望myMethod也应从ui:repeat调用。我该如何解决这个问题,为此苦苦挣扎。

0 个答案:

没有答案