将AngularJS对象传递给JSF调用
我正在使用AngularFaces,我想将一个AngularJS对象传递给一个JSFbean方法。 我正在迭代一个表,并希望为每个迭代放置特定的按钮:将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
<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);
}