我討厭我回答我自己的問題,但我確實發現了一個沒有很好記錄的潛在解決方案,而且在典型的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);
}