前面我们做了一个简单的Hello world, 仅仅包含了屏幕的输出, 其中, 我们使用了两种模式, 一种有HTMLB, 另外一种是纯HTML+ABAP.
在这节我们会简单的处理用户输入输出, 同样使用两种模式完成.
任务:
存在两个页面, 在第一个页面提供用户输入, 包含一个label, 一个输入框, 一个提交按钮. 在第二个屏幕显示用户输入结果.
由于只有两个页面, 所以我们选择静态导航.
首先, 要熟悉几个全局变量:
- REQUEST: 接口IF_HTTP_REQUEST, 存储HTTP请求
- RESPONSE: 接口IF_HTTP_RESPONSE, 存储HTTP响应
- NAVIGATION: 接口IF_BSP_NAVIGATION, 存储页面导航
- RUNTIME: 接口IF_BSP_RUNTIME, 存储运行时对象
实现如下:
- 使用HTML+ABAP
1) 创建一个BSP application:
SE80àBSP applicationà名称: ZBOBO_001
2) 创建两个页面, 如图:
3) 编辑start.htm àlayout
代码如下:
|
<%@page language="abap"%> |
说明:
action="result.htm": 定义静态导航页面
4) 编辑result.htm
设置页面属性:
处理页面初始化事件, 得到HTTP请求的参数
Layout代码如下:
|
<%@page language="abap"%> |
5) 激活运行测试
输入一个字符串, 点确定
6) 注意上面IE地址栏的信息, 可以看到在进入result页面的时候, 时候参数传递的, 因为我们用的是GET方法, 所以参数在HTTP请求的Header中, 并显示在地址栏.如果使用POST方法, 则在地址栏不显示参数信息.
- 使用HTMLB+ABAP
1) 创建一个新的BSP application, 同上1à1)
2) 创建两个页面, 同上1à2)
3) 编辑start.htm, 如下:
|
<%@page language="abap"%> |
4) 编辑开始页的输入事件
5) 设定navigation
注意: 下面的navigation request的名字, 就是调用next_page中指定的参数的名字.
6) 编辑result页面
7) 最终效果如下:
写得不错,还有继续更新吗?
呵呵,有点忙,一直没有更新,再说考虑到BSP已经过时,特别是在国内已经很少应用,所以写的比较简单,我想在有空的时候会继续更新,谢谢支持.