You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-user@portals.apache.org by songzongquan <wa...@163.com> on 2010/02/04 04:36:42 UTC
Who can give me same examples code of portelet supporting WAP?
for jetspeed2.2.0
First, i will thank Woonsan Ko very much! you help me a lot
I does find out some example code, but it is based of Jetspeed1, how
does i will on jetspeed2? please give me a idea.
import org.apache.ecs.*;
import org.apache.ecs.html.*;
import org.apache.ecs.wml.P;
import org.apache.jetspeed.capability.CapabilityMap;
import org.apache.jetspeed.capability.CapabilityMapFactory;
import org.apache.jetspeed.portal.portlets.AbstractPortlet;
import org.apache.jetspeed.util.MimeType;
import org.apache.turbine.util.RunData;
import java.io.*;
public class WMLPortlet extends AbstractPortlet {
//which MIME types does this portlet support
public boolean supportsType (MimeType clientMimeType) {
if (MimeType.HTML.equals(clientMimeType)) {
return true;
}
if (MimeType.WML.equals(clientMimeType)) {
return true;
}
return false;
}
public ConcreteElement getContent (RunData runData) {
//create an ECS container for our content
ElementContainer container = new ElementContainer();
//get user's browser info from the Turbine runtime data.
CapabilityMap capMap = CapabilityMapFactory.getCapabilityMap
(runData);
//show HTML code for the web
if (capMap.getPreferredType().equals (MimeType.HTML)) {
Table table = new Table()
.setBorder(0)
.addElement(new TR()
.addElement(new TD()
.addElement(new B()
.addElement("I am bold."))))
.addElement(new TR()
.addElement(new TD()
.addElement("I'm the lower table
row.")));
container.addElement(table);
}
//show WML code for wireless
else if (capMap.getPreferredType().equals (MimeType.WML)) {
org.apache.ecs.wml.P p = new org.apache.ecs.wml.P()
.addElement("On wireless");
container.addElement(p);
}
return container;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org
Re: Who can give me same examples code of portelet supporting WAP? for jetspeed2.2.0
Posted by Woonsan Ko <wo...@yahoo.com>.
Hi,
You can have a look at the following guide to see how to implement a standard portlet. (Jetspeed-2.2.x requires JSR-168 or JSR-286 compliant portlets.)
[1] http://portals.apache.org/jetspeed-2/devguide/guide-simple-portlet.html
Also, you could configure something to support WML mimetype in your portlet descriptor. Please refer to "PLT.8.6 Defining Portlet Modes Support" in JSR-286 Spec. document for an example.
And, then you could implement some codes to render WML markups in your doView() method after invoking response.setContentType() with the proper content type.
HTH,
Woonsan
----- Original Message ----
> From: songzongquan <wa...@163.com>
> To: jetspeed-user@portals.apache.org
> Sent: Thu, February 4, 2010 4:36:42 AM
> Subject: Who can give me same examples code of portelet supporting WAP? for jetspeed2.2.0
>
> First, i will thank Woonsan Ko very much! you help me a lot
>
> I does find out some example code, but it is based of Jetspeed1, how
> does i will on jetspeed2? please give me a idea.
>
>
> import org.apache.ecs.*;
> import org.apache.ecs.html.*;
> import org.apache.ecs.wml.P;
> import org.apache.jetspeed.capability.CapabilityMap;
> import org.apache.jetspeed.capability.CapabilityMapFactory;
> import org.apache.jetspeed.portal.portlets.AbstractPortlet;
> import org.apache.jetspeed.util.MimeType;
> import org.apache.turbine.util.RunData;
> import java.io.*;
> public class WMLPortlet extends AbstractPortlet {
> //which MIME types does this portlet support
> public boolean supportsType (MimeType clientMimeType) {
> if (MimeType.HTML.equals(clientMimeType)) {
> return true;
> }
> if (MimeType.WML.equals(clientMimeType)) {
> return true;
> }
> return false;
> }
> public ConcreteElement getContent (RunData runData) {
> //create an ECS container for our content
> ElementContainer container = new ElementContainer();
> //get user's browser info from the Turbine runtime data.
> CapabilityMap capMap = CapabilityMapFactory.getCapabilityMap
> (runData);
> //show HTML code for the web
> if (capMap.getPreferredType().equals (MimeType.HTML)) {
> Table table = new Table()
> .setBorder(0)
> .addElement(new TR()
> .addElement(new TD()
> .addElement(new B()
> .addElement("I am bold."))))
> .addElement(new TR()
> .addElement(new TD()
> .addElement("I'm the lower table
> row.")));
> container.addElement(table);
> }
> //show WML code for wireless
> else if (capMap.getPreferredType().equals (MimeType.WML)) {
> org.apache.ecs.wml.P p = new org.apache.ecs.wml.P()
> .addElement("On wireless");
> container.addElement(p);
> }
> return container;
> }
> }
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
> For additional commands, e-mail: jetspeed-user-help@portals.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org