Package org.apache.velocity.tools.struts
Class SecureLinkTool
- java.lang.Object
-
- org.apache.velocity.tools.view.tools.LinkTool
-
- org.apache.velocity.tools.struts.SecureLinkTool
-
- All Implemented Interfaces:
java.lang.Cloneable
public class SecureLinkTool extends LinkTool
Tool to be able to use Struts SSL Extensions with Velocity.It has the same interface as StrutsLinkTool and can function as a substitute if Struts 1.x and SSL Ext are installed.
Usage:
Template example: <!-- Use just like a regular StrutsLinkTool --> $link.action.nameOfAction $link.action.nameOfForward If the action or forward is marked as secure, or not, in your struts-config then the link will be rendered with https or http accordingly. Toolbox configuration: <tool> <key>link</key> <scope>request</scope> <class>org.apache.velocity.tools.struts.SecureLinkTool</class> </tool>
- Since:
- VelocityTools 1.1
- Version:
- $Revision: 487322 $ $Date: 2006-12-14 11:49:10 -0800 (Thu, 14 Dec 2006) $
- Author:
- Marino A. Jonsson
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.velocity.tools.view.tools.LinkTool
LinkTool.QueryPair
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.StringHTTPprivate static java.lang.StringHTTPSprivate static java.lang.StringSTD_HTTP_PORTprivate static java.lang.StringSTD_HTTPS_PORT-
Fields inherited from class org.apache.velocity.tools.view.tools.LinkTool
application, AUTO_IGNORE_PARAMETERS_KEY, HTML_QUERY_DELIMITER, LOG, request, response, SELF_ABSOLUTE_KEY, SELF_INCLUDE_PARAMETERS_KEY, XHTML_QUERY_DELIMITER
-
-
Constructor Summary
Constructors Constructor Description SecureLinkTool()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringcomputeURL(javax.servlet.http.HttpServletRequest request, javax.servlet.ServletContext app, java.lang.String link)Compute a hyperlink URL based on the specified action link.private static org.apache.struts.config.SecureActionConfiggetActionConfig(javax.servlet.http.HttpServletRequest request, javax.servlet.ServletContext app, java.lang.String linkString)Finds the configuration definition for the specified action linkSecureLinkToolsetAction(java.lang.String action)Returns a copy of the link with the given action name converted into a server-relative URI reference.SecureLinkToolsetForward(java.lang.String forward)Returns a copy of the link with the given global forward name converted into a server-relative URI reference.private static java.lang.StringBufferstartNewUrlString(javax.servlet.http.HttpServletRequest request, java.lang.String desiredScheme, java.lang.String desiredPort)Builds the protocol, server name, and port portion of the new URLjava.lang.StringtoEncoded(java.lang.String url, java.lang.String sessionId)Return the specified URL with the specified session identifier suitably encoded.-
Methods inherited from class org.apache.velocity.tools.view.tools.LinkTool
absolute, addAllParameters, addIgnore, addQueryData, addQueryData, anchor, configure, copyWith, copyWith, copyWith, copyWithAnchor, copyWithIgnore, duplicate, encodeURL, getAnchor, getBaseRef, getContextPath, getContextURL, getParams, getQueryData, getRequestPath, getSelf, getUri, getURI, init, param, params, relative, setAbsolute, setAnchor, setAutoIgnoreParameters, setRelative, setSelfAbsolute, setSelfIncludeParameters, setURI, setXhtml, toString, uri
-
-
-
-
Field Detail
-
HTTP
private static final java.lang.String HTTP
- See Also:
- Constant Field Values
-
HTTPS
private static final java.lang.String HTTPS
- See Also:
- Constant Field Values
-
STD_HTTP_PORT
private static final java.lang.String STD_HTTP_PORT
- See Also:
- Constant Field Values
-
STD_HTTPS_PORT
private static final java.lang.String STD_HTTPS_PORT
- See Also:
- Constant Field Values
-
-
Method Detail
-
setAction
public SecureLinkTool setAction(java.lang.String action)
Returns a copy of the link with the given action name converted into a server-relative URI reference. This method does not check if the specified action really is defined. This method will overwrite any previous URI reference settings but will copy the query string.
- Parameters:
action- an action path as defined in struts-config.xml- Returns:
- a new instance of StrutsLinkTool
-
setForward
public SecureLinkTool setForward(java.lang.String forward)
Returns a copy of the link with the given global forward name converted into a server-relative URI reference. If the parameter does not map to an existing global forward name,
nullis returned. This method will overwrite any previous URI reference settings but will copy the query string.- Parameters:
forward- a global forward name as defined in struts-config.xml- Returns:
- a new instance of StrutsLinkTool
-
computeURL
public java.lang.String computeURL(javax.servlet.http.HttpServletRequest request, javax.servlet.ServletContext app, java.lang.String link)Compute a hyperlink URL based on the specified action link. The returned URL will have already been passed toresponse.encodeURL()for adding a session identifier.- Parameters:
request- the current request.app- the current ServletContext.link- the action that is to be converted to a hyperlink URL- Returns:
- the computed hyperlink URL
-
getActionConfig
private static org.apache.struts.config.SecureActionConfig getActionConfig(javax.servlet.http.HttpServletRequest request, javax.servlet.ServletContext app, java.lang.String linkString)Finds the configuration definition for the specified action link- Parameters:
request- the current request.app- the current ServletContext.linkString- The action we are searching for, specified as a link. (i.e. may include "..")- Returns:
- The SecureActionConfig object entry for this action, or null if not found
-
startNewUrlString
private static java.lang.StringBuffer startNewUrlString(javax.servlet.http.HttpServletRequest request, java.lang.String desiredScheme, java.lang.String desiredPort)Builds the protocol, server name, and port portion of the new URL- Parameters:
request- The current requestdesiredScheme- The scheme (http or https) to be used in the new URLdesiredPort- The port number to be used in th enew URL- Returns:
- The new URL as a StringBuffer
-
toEncoded
public java.lang.String toEncoded(java.lang.String url, java.lang.String sessionId)Return the specified URL with the specified session identifier suitably encoded.- Parameters:
url- URL to be encoded with the session idsessionId- Session id to be included in the encoded URL- Returns:
- the specified URL with the specified session identifier suitably encoded
-
-