货币转换器的开发与优化
1. 货币转换器功能实现
1.1 服务器与浏览器通信
在开发货币转换器时,需要了解Web服务器和Web浏览器之间的通信机制。Seaside应用程序仅在Web服务器上运行,当用户在网页上进行操作时,Web浏览器处于活跃状态。若要激活Web服务器上的某些功能,Web浏览器必须向Web服务器发送HTTP请求,例如用户点击按钮时就可能触发该请求。发送HTTP请求时,相关表单的所有字段内容都会被发送到Web服务器,但仅更改输入字段内容而不点击按钮则不会发送HTTP请求。
1.2 Seaside的回调机制
Seaside允许为表单的每个元素指定当Web浏览器发送HTTP请求时Web服务器上会发生的操作。这种操作的指定通过 callback:
消息或作为块发送的参数来实现。以下是第一个货币字段在 renderFormOn:
方法中的示例:
(html textInput)
callback: [:input | self currency1: input];
with: self currency1.
当HTTP请求发生时,Seaside会计算该块。用户在输入字段中输入的字符串会被分配给块参数 input
,然后在块的主体中,该字符串会被分配给实例变量 currency1
。 with:
消息定义了在Web浏览器中显示的值。
对于第二个货币输入字段,由