将AngularJS对象传递给JSF调用

将AngularJS对象传递给JSF调用,angularjs,jsf,angularfaces,Angularjs,Jsf,Angularfaces,我正在使用AngularFaces,我想将一个AngularJS对象传递给一个JSFbean方法。 我正在迭代一个表,并希望为每个迭代放置特定的按钮: <table ng-table="tableParams"> <tr ng-repeat="user in $data"> <td data-title="'User id'">{{user.id}}</td> <td data-title="'Name

我正在使用AngularFaces,我想将一个AngularJS对象传递给一个JSFbean方法。 我正在迭代一个表,并希望为每个迭代放置特定的按钮:

<table ng-table="tableParams">
    <tr ng-repeat="user in $data">
        <td data-title="'User id'">{{user.id}}</td>
        <td data-title="'Name'">{{user.name}}</td>
        <td data-title="'Hide User'">
            <p:commandButton value="Hide" id="hideUser" action="#{bean.hideUser({{user.id}})}"">
                <f:param name="myId" value="{{disponent.dispNr}}" />
            </p:commandButton>
        </td>
    </tr>
</table>

{{user.id}
{{user.name}

将AngularJS对象传递给JSF也让我头疼不已。过了一段时间,我找到了解决办法,但我还是不满意。我希望在AngularFaces的下一个版本中找到更好的解决方案

现在,您可以使用全局函数afToJson序列化AngularJS对象,并将其作为字符串传递给JSF:

    <button class="carFilterButton" jsf:action="#{selectionBean.showDetails()}"
              ng-click="selectionBean.carAsJSon=afToJson(car);">show me!</button>

(请参阅)。

太好了,谢谢!同时,我只是使用了一个Primefaces表,而不是使用ng表构造。
<p:commandButton value="Hide" id="hideUser" action="#{bean.hideUser(user.id)}">
    <button class="carFilterButton" jsf:action="#{selectionBean.showDetails()}"
              ng-click="selectionBean.carAsJSon=afToJson(car);">show me!</button>
    private String carAsJSon;

    private Car car;

    public String getCarAsJSon() {
        return carAsJSon;
    }

    public void setCarAsJSon(String carAsJSon) {
        this.carAsJSon = carAsJSon;
        int pos = carAsJSon.indexOf(",\"$$hashKey\"");
        if (pos > 0)
            carAsJSon = carAsJSon.substring(0, pos) + "}";

        Car car = (Car)  JSONUtilities.readObjectFromJSONString(carAsJSon, Car.class);
        return getCarBean().showDetails(car);
    }