APL在Web应用系列 --- 例子1: 在Web页面的javascript中 调用 apl脚本

这个专题 专门讲 APL平台在 Web中的应用.

APL平台在Web中应用范围包括:

       1.  在Web服务端应用:  

       APL平台中,  aplHttpServer.exe( APL中本地的Web服务器 )支持 apl脚本( aplx )来写web页面, 具体写法类似php之类.

  2.  在终端页面内应用:

                 在Web页面的 javascript中,  利用window.external扩展接口, 支持了对 apl脚本的调用. 

                (  需要在 深思(DeepThink)浏览器中,  这是APL平台的一个工具 ).

-----------------------------------------------------------------------------------------------------------------------------------

 本文以 一个简单的Web页面(描述 深思(DeepThink)浏览器快捷键的页面 )来 描述 APL平台在 javascript中 如何调用apl脚本, 先上效果图:

 

 

 

应用说明:

   上面画面显示了 深思(DeepThink)浏览器中的 快捷键,  并在点激 快捷键链接时候, 通过 javascript, 调用 apl脚本, 以获得 说明的相关功能.

   比如:

             Alt+A:  显示收藏夹.

                        这个通过javascript, 调用了 apl脚本中东西,  弹出了 深思(DeepThink)浏览器app中的 对应功能.

 

代码片段:

 

javacsript代码片段.

<script type="text/javascript" >

function test( hotkey )
{
 var aplScript = "$app =getApp();$app->onHotkey( '" + hotkey +  "' ) ; " ;
 window.external.callAplScript( aplScript ) ;
}

</script>

 

对应文字段片段:

<td width="100"><a href="javascript:test( 'Alt+F' );">Alt+F</a></td><td>主菜单: 文件(F)</td><tr />

 

代码解析:

callAplScript()方法为 深思(DeepThink))浏览器中定义的C++方法,  此方法的参数为 一段 apl脚本,  callAplScript()利用APL平台提供的 脚本引擎接口, 执行这段脚本.

下面主要解释一下 这段apl脚本意义:

 

//  getApp是 APL平台的全局方法:  获得一个application对象. ( 在深思(DeepThink)浏览器中, 这个对象被设置成 MainFrame对象, 当然MainFrame对象需要支持 APL_IEntry接口, 以支持apl对象接口 ).

//  APL平台中,  setApp( $app ) 方法可以设置 application对象.   

$app =getApp();

                                               

//  onHotkey( $hotkey ), 这个是  MainFrame对象中定义的 apl接口方法, 处理快捷键.

$app->onHotkey( '" + hotkey +  "' ) ;

 

说明:

       此例简要说明了 如何在 javascript中 调用apl脚本,  以获得APL平台的接口,  

       关于javascript和apl脚本 交互还在实验期,  后继将会有更完善的接口, 请继续关注APL.

 

     如果对此有兴趣的朋友, 请在评论中留言, 留下你的电邮方式,  作者会回复您如何下载 APL平台测试版, 多谢!

paul.

2013-03-07.

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/smartfishliu/archive/2013/03/07/2947849.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个使用SSM框架(Spring + SpringMVC +Batis)获取调用API短信验证码的示例代码。骤如下: 1. 创建一个名为`SmsController`的控制器类,处理获取短信验证码的请求: ```java import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.client.RestTemplate; @Controller public class SmsController { @RequestMapping("/getSmsCode") @ResponseBody public String getSmsCode() { RestTemplate restTemplate = new RestTemplate(); String apiUrl = "your_api_endpoint"; // 替换为你的API地址 String smsCode = restTemplate.getForObject(apiUrl, String.class); return smsCode; } } ``` 2. 在Spring配置文件配置相关的Bean和URL映射: ```xml <!-- 配置RestTemplate --> <bean id="restTemplate" class="org.springframework.web.client.RestTemplate"></bean> <!-- 配置控制器 --> <context:component-scan base-package="com.your.package.controller" /> <!-- 配置URL映射 --> <mvc:annotation-driven/> ``` 3. 在HTML页面添加相应的表单和JavaScript代码: ```html <!DOCTYPE html> <html> <head> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> function getSMSCode() { $.get("/getSmsCode", function(response) { document.getElementById("smsCodeInput").value = response; }); } </script> </head> <body> <form> <!-- 其他表单元素 --> <input type="text" id="smsCodeInput" name="smsCode" placeholder="短信验证码"> <input type="button" value="获取验证码" onclick="getSMSCode()"> <input type="submit" value="提交"> </form> </body> </html> ``` 在上述代码,`SmsController`类的`getSmsCode()`方法使用`RestTemplate`发送GET请求到API地址,然后将获取到的短信验证码返回给前端页面前端页面的`getSMSCode()`函数使用jQuery的`$.get()`方法发送GET请求到`/getSmsCode`路径,接收到响应后将验证码填充到相应的输入框。 请注意,上述代码只是一个示例,实际情况你需要根据你的具体需求进行适当的修改和调整。另外,确保在Spring配置文件正确配置了相关的组件和URL映射。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值