生成IBM Portal格式的URL

    最近做了个portal项目,用IBM的Portal Struts Framework做的,因为很多标签都用不了,所以就自己写了个。让我感觉自豪的是写了个portal版本的displaytag标签,最主要的就是要生成portal独有的url格式了,还是贴代码吧。

java 代码
  1. public static String createURL(PageContext pageContext, String action,   
  2.             Map params) {   
  3.         HttpServletRequest request = (HttpServletRequest) pageContext   
  4.                 .getRequest();   
  5.         StringBuffer results = new StringBuffer();   
  6.   
  7.         PortletApiUtils portletUtils = PortletApiUtils.getUtilsInstance();   
  8.   
  9.         if (portletUtils != null) {   
  10.             PortletURIAttributes uriAttributes = new PortletURIAttributes();   
  11.             uriAttributes.setUriType("standard");   
  12.             uriAttributes.setWindowState(null);   
  13.             Object portletURI = portletUtils.createPortletURIWithStrutsURL(   
  14.                     request, calculateURL(pageContext, action, params),   
  15.                     uriAttributes);   
  16.             results.append(portletURI.toString());   
  17.         } else {   
  18.             results.append(calculateURL(pageContext, action, params));   
  19.         }   
  20.   
  21.         return results.toString();   
  22.     }   
  23.   
  24.     private static String calculateURL(PageContext pageContext, String action,   
  25.             Map params) {   
  26.   
  27.         String url = null;   
  28.         try {   
  29.             String page = null;   
  30.             String href = null;   
  31.             String forward = null;   
  32.             url = WpsRequestUtils.computeURL(pageContext, forward, href, page,   
  33.                     action, params, nullfalsefalse);   
  34.         } catch (MalformedURLException e) {   
  35.             e.printStackTrace();   
  36.         }   
  37.   
  38.         return url;   
  39.     }  

你可能感兴趣的:(struts,IBM)