- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用扩展库组件远程服务 (xe:jsonRpcService
)。我从 here 得到了一些提示和 here .基本上我正在尝试使用 RPC 保存文档。问题是文档已保存,但它不保存 XPage 上存在的任何字段。下面是示例 XPage 代码:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xe="http://www.ibm.com/xsp/coreex">
<xp:this.data>
<xp:dominoDocument var="document1" formName="Test"></xp:dominoDocument>
</xp:this.data>
<xe:jsonRpcService id="jsonRpcService1" serviceName="service">
<xe:this.methods>
<xe:remoteMethod name="saveDoc">
<xe:this.script><![CDATA[print(">> " + getComponent("inputText1").getValue());
document1.save();
return true;]]></xe:this.script>
</xe:remoteMethod>
</xe:this.methods>
</xe:jsonRpcService>
<xp:br></xp:br>
<xp:inputText id="inputText1" defaultValue="testValue" value="#{document1.testField}"></xp:inputText>
<xp:br></xp:br>
<xp:button value="Save" id="button1">
<xp:eventHandler event="onclick" submit="false">
<xp:this.script><![CDATA[var deferred = service.saveDoc();
deferred.addCallback(
function(result) {
alert(result);
}
);]]></xp:this.script>
</xp:eventHandler>
</xp:button>
</xp:view>
我在这里所做的是,我在保存当前文档 (document1
) 的地方创建了远程服务 (service
)。它保存文档但不保存 inputText1
中的值。此外,当我尝试打印 inputText1
的值时,它显示在控制台上,但未保存。
这是正确的做法吗?或者我在这里遗漏了什么。还有哪些场景可以证明使用 xe:jsonRpcService
是合理的?
最佳答案
避免为此类操作使用 JSON-RPC 有(至少)两个原因:
我的建议是将 JSON-RPC 视为“减去愚蠢的 SOAP”。用更礼貌的措辞,它在概念上等同于 Web Services ,但没有 Web 服务的所有复杂性。因此,这些类型的服务非常适合在当前页面的上下文中有用的数据操作,而无需明确绑定(bind)到当前页面的状态。
以下是一些可能对 JSON-RPC 方法有用的操作示例:
这并不意味着您不能将 RPC 用于写操作...但是对于任何需要完整的、最新的上下文(即每个当前页面上的字段)正确运行,标准事件处理程序几乎总是更好的方法。
关于xpages - 如何使用xe :jsonRpcService?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11356227/
我正在尝试使用扩展库组件远程服务 (xe:jsonRpcService)。我从 here 得到了一些提示和 here .基本上我正在尝试使用 RPC 保存文档。问题是文档已保存,但它不保存 XPage
我正在尝试使用 jsonRpcService 在控制台上打印一个值。只是为了测试。但是当我调用该方法时,我在浏览器控制台上收到此错误: POST http://localhost/Teste.nsf/
我是一名优秀的程序员,十分优秀!