黄智勇 发表于 2017-5-25 11:08:30

生成IBM Portal格式的URL

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

[*]public static String createURL(PageContext pageContext, String action,   
[*]            Map params) {   
[*]        HttpServletRequest request = (HttpServletRequest) pageContext   
[*]                .getRequest();   
[*]        StringBuffer results = new StringBuffer();   
[*]  
[*]        PortletApiUtils portletUtils = PortletApiUtils.getUtilsInstance();   
[*]  
[*]        if (portletUtils != null) {   
[*]            PortletURIAttributes uriAttributes = new PortletURIAttributes();   
[*]            uriAttributes.setUriType("standard");   
[*]            uriAttributes.setWindowState(null);   
[*]            Object portletURI = portletUtils.createPortletURIWithStrutsURL(   
[*]                    request, calculateURL(pageContext, action, params),   
[*]                    uriAttributes);   
[*]            results.append(portletURI.toString());   
[*]        } else {   
[*]            results.append(calculateURL(pageContext, action, params));   
[*]        }   
[*]  
[*]        return results.toString();   
[*]    }   
[*]  
[*]    private static String calculateURL(PageContext pageContext, String action,   
[*]            Map params) {   
[*]  
[*]        String url = null;   
[*]        try {   
[*]            String page = null;   
[*]            String href = null;   
[*]            String forward = null;   
[*]            url = WpsRequestUtils.computeURL(pageContext, forward, href, page,   
[*]                    action, params, null, false, false);   
[*]        } catch (MalformedURLException e) {   
[*]            e.printStackTrace();   
[*]        }   
[*]  
[*]        return url;   
[*]    }  
页: [1]
查看完整版本: 生成IBM Portal格式的URL