import javax.servlet.http.HttpServletResponse;
import com.sapportals.portal.prt.component.AbstractPortalComponent;
import com.sapportals.portal.prt.component.IPortalComponentContext;
import com.sapportals.portal.prt.component.IPortalComponentProfile;
import com.sapportals.portal.prt.component.IPortalComponentRequest;
import com.sapportals.portal.prt.component.IPortalComponentResponse;
public class MyHeaderComponent extends AbstractPortalComponent
{
private static final String X_FRAME_OPTIONS = "X-Frame-Options"; //The response header key
private static final String DENY = "DENY"; //The response header value
public void doContent(IPortalComponentRequest request, IPortalComponentResponse response)
{
HttpServletResponse servletResponse = request.getServletResponse(false); //gets the original servlet response
if(servletResponse != null) {
//adds the X-FRAME-OPTIONS Header
servletResponse.addHeader(X_FRAME_OPTIONS, DENY);
response.write("My Content cannot be displayed inside an iframe!!");
}
}
}
/** Getting the PRT HtmlDocument object from the PortalComponentRequest. */
private HtmlDocument getHtmlDocument(IPortalComponentRequest request) {
HtmlDocument htmlDocument = null;
IPortalResponse portalResponse = (IPortalResponse) request.getValue(IPortalResponse.class.getName());
if (portalResponse instanceof PortalHtmlResponse) {
PortalHtmlResponse portalHtmlResponse = (PortalHtmlResponse) portalResponse;
htmlDocument = portalHtmlResponse.getHtmlDocument();
}
return htmlDocument;
}
public void doContent(IPortalComponentRequest request, IPortalComponentResponse response)
{
HtmlDocument portalHtmlDoc = getHtmlDocument(request);
Vector headHtmlElements = portalHtmlDoc.getHead().getHtmlElements();
//writing head scripts and modifying body attribs
headHtmlElements.add( new HtmlString( "<!-- This will appear in the head! --> " ));
headHtmlElements.add( new HtmlString( "<script type=\"text/javascript\">alert('hello from header!') </script>" ));
//setting css class of body
portalHtmlDoc.getBody().setClass( "myCSSClass" );
//setting body attributs
portalHtmlDoc.getBody().addAttribute( "role", "application" );
response.write("inside body");
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
13 | |
11 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
5 |