Scripting Helma |
Montag, 12. August 2002
Scripting a simple Forum
matthias
21:25h
In this chapter we will script our first real Helma web application. - a small forum. You will learn how to create HopObject classes and connect them to a database (mySQL). Even if you never scripted a web application before, and have no idea about SQL, HTTP-headers and so on you should be able to understand this example. If not: kick me. Create a new application Making the start screen With our existing knowledge we create a main.hac in root. Instead of res.write("Hello World!");we would start with something like:
But all this res.write's are getting boring. So we need a solution for this. If you know PHP or ASP, you would propably start using a syntax like this:
<% some code %>
<% some more code %> But Helma won't allow this in .hac files. So what can we do to solve this? What you need are "Skins". A Skin is a template, which can be called by a function. But before we learn more about skins and hac's in detail, lets solve our start page: First create a file called "main.skin" in root. (The name "main" has no special meaning with .skin files) Open it in a text editor and script the following simple HTML page: Then open root/main.hac and script: root.renderSkin("main"); When you open http://localhost:8080/forum you should see the HTML page. So why do I need "Skins"? Helma has a very strict, but clean way to sepperate logic from presentation. It doesn't allow you to have logic in .skin files and makes it very hard to have presentation (HTML in our case) in functions or .hac files. (just see our res.write, res.write example). This may seem complicated in the beginning. But it is just a disadvantage, as long as your apps don't have mor than 10 lines of code. For bigger applications it reduces the risk of bugs and makes it possible to let the HTML guys take care about the HTML, without doing too big damage. It is possible to store skins in a database and make them editable by others than the programmers, like Antville demonstrates. Note: This should go somewhere else Lets have look at our root/main.hac: root.renderSkin("main");root is a global identifier for the root HopObject. renderSkin is a HopObject method (function) which renders the specified skin for that object "main" is a string, which is an argument for the function. It specifies the name of the skin (file). The "dot"-syntax mainly says: next time we will learn how to write macros. (what's that?!?!) ... Link |
Online for 8546 days
Last modified: 08.08.02, 10:22 Status
Youre not logged in ... Login
Menu
Suche
Calendar
Recent updates
Controlling the form behaviour Last
time our application was able to create forums, but in...
by matthias (15.11.02, 20:04)
Scripting a simple Forum In
this chapter we will script our first real Helma web...
by matthias (15.11.02, 18:37)
Adding Forums to our application
Today you will learn, how to create new forums, and...
by matthias (15.08.02, 12:27)
Hello World After we succesfully
installed Helma, we will write our first application: The traditional...
by matthias (11.08.02, 13:32)
Installing Helma Helma is 100%
Java, that means, that you can run it on a...
by matthias (08.08.02, 20:32)
How to script Helma ....
That's what you would love to know. .... RIGHT! Antville...
by matthias (06.08.02, 12:00)
How can you get involved?
Helma.org is providing a lot of gates which you can...
by matthias (06.08.02, 11:48)
first try funny, an hour
ago i first saw this tool, because i was testing...
by matthias (28.06.01, 17:20)
|