【问题标题】:Calling a Web Service in a JSP在 JSP 中调用 Web 服务
【发布时间】:2017-08-09 20:56:58
【问题描述】:

我不熟悉在 JSP 中调用 REST 服务。我有一个通过 struts2 动作的表单。我有一个执行基本电子邮件验证的 javascript 函数。因此,我需要调用一个进行电子邮件验证的服务,而不是使用 JavaScript 执行此验证。

如果不需要,我是否需要直接在 JSP 页面中调用验证服务,那么我该如何实现呢?

<form name="resendEsignatureFormId" id="resendEsignatureFormId" action="<integration:urlAction actionName='/integration/resendEsignatureIntegration'></integration:urlAction>" 
    method="POST">
</form>

JavaScript 函数

function validate() {   
    // Need to call validation service here
    document.getElementById('resendEsignatureFormId').submit();
}

<table width=100%>
    <tr><td class="esignNavigation">            
       <a href="#x" onclick ="validate()"><span>Confirm</span></a>
       <a href="#x" onclick="hideSigners()"><span>Cancel</span></a></td>
    </tr>
</table>

提前谢谢...

【问题讨论】:

  • 需要吗?不,但你可能想要——假设它可以从客户端访问(例如,允许访问控制等)如何做到这一点是基础 JS,需要无数资源可用。您还需要处理失败的验证,例如,您需要阻止默认事件,然后仅在验证成功的情况下进行实际提交。有许多方法可以处理。如果您在页面上没有任何其他真正的 JS 并且没有其他“实时”验证,您可能希望在后端进行验证。

标签: java rest web-services jsp struts


【解决方案1】:

JSP 是一种Java 服务器端技术,用于在服务器上生成HTML。对 REST api 的 javascript 调用是浏览器 -> 服务器操作。因此,您不要在 JSP 中调用 REST 服务,而是从 javascript 中调用 REST 服务。该 javascript 可以由 HTML 事件(onclick 等)调用,并且该 HTML 事件可以在 JSP 中描述 - 无论该事件是由 JSP 动态生成还是只是硬编码。

您没有明确声明您有一个公开的服务器端端点来执行电子邮件验证 - 您也需要它。

【讨论】:

  • 所以,我将在 JavaScript 函数中以某种方式通过获取表单来调用它。
  • javascript 函数必须将表单上填写的电子邮件字段的当前值传递给服务器,因此您需要通过它的表单和表单元素名称来引用该元素,或者您可以通过唯一的元素 id 访问它,而表单无关紧要。
  • 知道了。谢谢吉姆。
  • 没问题 - 您可能不会从 JSP 应用程序迁移到 rest-api 和单页应用程序架构,但是在执行这种类型的迁移时会出现您想知道的事情。本文可能会为您解决一些问题:spring.io/blog/2015/08/19/….
猜你喜欢
  • 1970-01-01
  • 2014-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多