1 9 package org.jboss.portal.test.portlet; 10 11 import java.io.IOException ; 12 import java.io.Writer ; 13 import java.util.Enumeration ; 14 15 import javax.portlet.ActionRequest; 16 import javax.portlet.ActionResponse; 17 import javax.portlet.GenericPortlet; 18 import javax.portlet.PortletException; 19 import javax.portlet.PortletSession; 20 import javax.portlet.PortletURL; 21 import javax.portlet.RenderRequest; 22 import javax.portlet.RenderResponse; 23 24 28 public class TestSessionPortlet extends GenericPortlet 29 { 30 public void processAction(ActionRequest req, ActionResponse resp) throws PortletException, IOException 31 { 32 String name = req.getParameter("name"); 33 String value = req.getParameter("value"); 34 if (name != null && value != null) 35 { 36 req.getPortletSession().setAttribute(name, value, PortletSession.PORTLET_SCOPE); 37 } 38 if (req.getParameter("invalidate") != null) 39 { 40 req.getPortletSession().invalidate(); 41 } 42 } 43 44 public void render(RenderRequest req, RenderResponse resp) throws PortletException, IOException 45 { 46 PortletSession session = req.getPortletSession(); 47 PortletURL purl = resp.createActionURL(); 48 49 resp.setContentType("text/html"); 50 Writer writer = resp.getWriter(); 51 52 print(session, PortletSession.PORTLET_SCOPE, writer); 53 writer.write("<br/>"); 54 55 print(session, PortletSession.APPLICATION_SCOPE, writer); 56 writer.write("<br/>"); 57 58 writer.write("<form action=\"" + purl.toString() + "\" method=\"post\">"); 59 writer.write("<input type=\"text\" name=\"name\"/>"); 60 writer.write("<input type=\"text\" name=\"value\"/>"); 61 writer.write("<input type=\"submit\" value=\"add\"/>"); 62 writer.write("</form><br/>"); 63 64 purl.setParameter("invalidate", "true"); 65 writer.write("<a HREF=\"" + purl.toString() + "\">invalidate</a><br/>"); 66 } 67 68 private void print(PortletSession session, int scope, Writer writer) throws IOException 69 { 70 writer.write("<table>"); 71 writer.write("<tr><td>name</td><td>value</td>"); 72 for (Enumeration e = session.getAttributeNames(scope);e.hasMoreElements();) 73 { 74 String name = (String )e.nextElement(); 75 Object value = session.getAttribute(name, scope); 76 writer.write("<tr><td>" + name + "</td><td>" + value + "</td>"); 77 } 78 writer.write("</table>"); 79 } 80 81 } 82 | Popular Tags |