4
CONTENTS
3.8 The margin and padding Properties . . . . . . . . . . . . . . . .
40
3.9 The vertical align and text align Properties
. . . . . . . .
41
3.10 Other CSS Capabilities . . . . . . . . . . . . . . . . . . . . . . .
41
3.11 Using CSS via the Class attribute . . . . . . . . . . . . . . . . . .
41
II
Dynamic Web Site Design
45
4 Scheme Servlets
47
4.1 Dynamic Content and Scheme Servlets . . . . . . . . . . . . . . .
47
4.2 Arithmetic Expressions in Scheme . . . . . . . . . . . . . . . . .
48
4.3 Interacting with HTTP headers . . . . . . . . . . . . . . . . . . .
50
4.4 Quasi strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
4.5 Quasi strings and string append . . . . . . . . . . . . . . . . . .
52
4.6 Servlet parameters . . . . . . . . . . . . . . . . . . . . . . . . . .
53
4.7 The case expression . . . . . . . . . . . . . . . . . . . . . . . . .
54
4.8 Processing numbers using servlets . . . . . . . . . . . . . . . . . .
55
4.9 Giving names to values using let* . . . . . . . . . . . . . . . . .
56
4.10 The if form and conditional execution . . . . . . . . . . . . . . .
57
4.11 The cond form and multiple tests . . . . . . . . . . . . . . . . . .
58
4.12 HTML Forms and Servlet Parameters . . . . . . . . . . . . . . .
59
4.13 Summary of Scheme Syntax . . . . . . . . . . . . . . . . . . . . .
61
5 Examples of Scheme Servlets
65
5.1 Password protected pages . . . . . . . . . . . . . . . . . . . . . .
65
5.2 Counters and Files . . . . . . . . . . . . . . . . . . . . . . . . . .
67
5.3 log files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
5.4 Scheme Tables and Lists . . . . . . . . . . . . . . . . . . . . . . .
70
5.5 Lists and Quasi quoted lists . . . . . . . . . . . . . . . . . . . . .
71
5.6 Automated Email . . . . . . . . . . . . . . . . . . . . . . . . . . .
72
6 Abstraction and Scheme Tags
75
6.1 Captioned Images and Abstraction . . . . . . . . . . . . . . . . .
75
III
Web Programming
79
7 Graphical User Interface Design in Scheme
81
7.1 Intro to the JLIB toolkits . . . . . . . . . . . . . . . . . . . . . .
81
7.2 Overview of the JLIB toolkits . . . . . . . . . . . . . . . . . . . .
83
7.3 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
84
7.4 Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
84
7.5 Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
84
7.6 Colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
85
7.7 Tabular Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . .
86
7.8 Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
88