我讨厌我回答我自己的问题,但我确实发现了一个没有很好记录的潜在解决方案,而且在典型的SAP时尚中使用了不推荐的方法。所以它可能比埃里克所建议的稍差一点。我通过一个不相关的SDN论坛帖子找到它。
基本上,你潜入请求对象并收集PortalNode。一旦你有了,你可以问它一个IPortalResponse的值。该对象可以转换为PortalHtmlResponse。该对象有一个名为getHtmlDocument的不赞成使用的方法。使用该方法,您可以使用一些Html镜像对象来获取头部并插入新的链接。
样品:
IPortalNode node = request.getNode().getPortalNode();
IPortalResponse resp = (IPortalResponse) node.getValue(IPortalResponse.class.getName());
if (resp instanceof PortalHtmlResponse) {
PortalHtmlResponse htmlResp = (PortalHtmlResponse) resp;
HtmlDocument doc = htmlResp.getHtmlDocument();
HtmlHead myHead = doc.getHead();
HtmlLink cssLink = new HtmlLink("http://myserver.com/css/mycss.css");
cssLink.setType("text/css");
cssLink.setRel("stylesheet");
myHead.addElement(cssLink);
}