生成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]