首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于获取无导航状态的网址的WebSphere门户应用编程接口

用于获取无导航状态的网址的WebSphere门户应用编程接口
EN

Stack Overflow用户
提问于 2014-09-24 21:33:55
回答 2查看 929关注 0票数 0

我有下面这段代码来从门户页面唯一名获取WebSphere门户网址。但是生成的URL也有我不需要的导航状态细节。我需要没有任何状态信息的URL。请在这方面提供帮助。提前感谢!!

代码语言:javascript
复制
URLFactory urlFactory = null;
    SelectionAccessorController selCtrl = null;
    PortletServiceHome serviceHome = null;
    Context ctx = null;
    try {
        ctx = new InitialContext();
        serviceHome = (PortletServiceHome) ctx.lookup("portletservice/com.ibm.portal.state.service.PortletStateManagerService");
        PortletStateManagerService service =
                (PortletStateManagerService) serviceHome
                        .getPortletService(PortletStateManagerService.class);

        try {
            PortletStateManager manager = service.getPortletStateManager(request, response);
            urlFactory = manager.getURLFactory();
            EngineURL url = urlFactory.newURL(Constants.EMPTY_COPY);
            com.ibm.portal.state.accessors.selection.SelectionAccessorFactory selFct =
                    (com.ibm.portal.state.accessors.selection.SelectionAccessorFactory) manager
                            .getAccessorFactory(com.ibm.portal.state.accessors.selection.SelectionAccessorFactory.class);
            selCtrl = selFct.getSelectionAccessorController(url.getState());
            selCtrl.setSelection(uniqueName);
            return url.writeDispose(new StringWriter()).toString();
        } catch (Exception e) {
            e.printStackTrace();
            throw e;
        } finally {
            if (null != selCtrl)
                selCtrl.dispose();
            if (null != urlFactory)
                urlFactory.dispose();
        }
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (null != selCtrl)
            selCtrl.dispose();
        if (null != urlFactory)
            urlFactory.dispose();
    }
    return null;

}
EN

回答 2

Stack Overflow用户

发布于 2014-09-26 03:23:32

尝试使用FriendlyUrl来生成EngineUrl,而不是使用Url。

代码语言:javascript
复制
FriendlyURL url=urlFactory.newURL(Constants.EMPTY_COPY);
url.setSelection("ibm.portal.Home");
url.dispose();
票数 0
EN

Stack Overflow用户

发布于 2017-03-15 19:09:45

我尝试了一下,并使用了一个简短的URL:

EngineURL url = urlFactory.newURL(Constants.DEEP_COPY);

我使用的是Constants.DEEP_COPY而不是Constants.EMPTY_COPY

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26018290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档