最近做了个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;
- }