Hi all,
I recently started experimenting with using embedded elements to create
components. Today, after just 5 minutes messing about, I produced my
first component, a simple label.
Here is how I did it.
In sites/main.xml:
<subsite id="Components">
<element id="Label" implementation="web.components.Label">
</element>
</subsite>
In templates/test.html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>View profile</title>
</head>
<body>
<!--V 'content' /-->
<!--BV 'content'-->
<p>This is your profile.</p>
<p>Username: <!--V 'ELEMENT:^Components.Label'-->
id = username
value = uname
<!--/V-->
<!--/BV-->
</body>
</html>
In web.components.Label:
/*
* Label.java
*
* $Id$
*/
package web.components;
import com.uwyn.rife.engine.Element;
import java.util.Properties;
/**
*
* @author Eddy.Young
* @version $Revision$
*/
public class Label extends Element {
private String id;
private String value;
public void processElement() {
Properties properties = getEmbedProperties();
id = properties.getProperty("id");
value = properties.getProperty("value");
print("<label id=" + id + ">" + getInput(value) + "</label>");
}
}
The interesting thing here is that the ELEMENT:<name> tag can embed more
than one value. This can be used to specify parameters. For example, for
a "list" component, the parameter could be the name of a bean that
contains the entries. Another parameter could be the name of a template.
The possibilities are virtually limitless. It would be great if those
who have used embedded elements to create components could share their
experience here.
--
http://coding.mu
http://priscimon.com/blog
_______________________________________________
Rife-users mailing list
Rife-users@uwyn.com
http://lists.uwyn.com/mailman/listinfo/rife-users