From 0a90384a9c7d840e88d9636271e8393a514647a0 Mon Sep 17 00:00:00 2001 From: Leif Johansson Date: Tue, 28 Jul 2009 10:34:52 +0200 Subject: Import shibboleth ds 1.1.0 --- src/installer/lib/ant-1.7.0.jar | Bin 0 -> 1289806 bytes src/installer/lib/ant-contrib-1.0b2.jar | Bin 0 -> 194050 bytes src/installer/lib/ant-launcher-1.7.0.jar | Bin 0 -> 11734 bytes src/installer/lib/ant-nodeps-1.7.0.jar | Bin 0 -> 430311 bytes src/installer/resources/build.xml | 68 + src/installer/resources/install.properties | 1 + src/installer/resources/logging.xml | 50 + src/installer/resources/wayfconfig.xml | 159 +++ src/main/webapp/WEB-INF/tlds/struts-bean.tld | 1153 +++++++++++++++ src/main/webapp/WEB-INF/tlds/struts-logic.tld | 1893 +++++++++++++++++++++++++ src/main/webapp/WEB-INF/web.xml | 55 + src/main/webapp/images/incommon.gif | Bin 0 -> 975 bytes src/main/webapp/images/internet2.gif | Bin 0 -> 1204 bytes src/main/webapp/images/logo.jpg | Bin 0 -> 13660 bytes src/main/webapp/index.htm | 5 + src/main/webapp/wayf.css | 104 ++ src/main/webapp/wayf.jsp | 547 +++++++ src/main/webapp/wayferror.jsp | 38 + 18 files changed, 4073 insertions(+) create mode 100644 src/installer/lib/ant-1.7.0.jar create mode 100644 src/installer/lib/ant-contrib-1.0b2.jar create mode 100644 src/installer/lib/ant-launcher-1.7.0.jar create mode 100644 src/installer/lib/ant-nodeps-1.7.0.jar create mode 100644 src/installer/resources/build.xml create mode 100644 src/installer/resources/install.properties create mode 100644 src/installer/resources/logging.xml create mode 100644 src/installer/resources/wayfconfig.xml create mode 100644 src/main/webapp/WEB-INF/tlds/struts-bean.tld create mode 100644 src/main/webapp/WEB-INF/tlds/struts-logic.tld create mode 100644 src/main/webapp/WEB-INF/web.xml create mode 100644 src/main/webapp/images/incommon.gif create mode 100644 src/main/webapp/images/internet2.gif create mode 100644 src/main/webapp/images/logo.jpg create mode 100644 src/main/webapp/index.htm create mode 100644 src/main/webapp/wayf.css create mode 100644 src/main/webapp/wayf.jsp create mode 100644 src/main/webapp/wayferror.jsp (limited to 'src') diff --git a/src/installer/lib/ant-1.7.0.jar b/src/installer/lib/ant-1.7.0.jar new file mode 100644 index 0000000..0a56a58 Binary files /dev/null and b/src/installer/lib/ant-1.7.0.jar differ diff --git a/src/installer/lib/ant-contrib-1.0b2.jar b/src/installer/lib/ant-contrib-1.0b2.jar new file mode 100644 index 0000000..ea817cd Binary files /dev/null and b/src/installer/lib/ant-contrib-1.0b2.jar differ diff --git a/src/installer/lib/ant-launcher-1.7.0.jar b/src/installer/lib/ant-launcher-1.7.0.jar new file mode 100644 index 0000000..12a1e78 Binary files /dev/null and b/src/installer/lib/ant-launcher-1.7.0.jar differ diff --git a/src/installer/lib/ant-nodeps-1.7.0.jar b/src/installer/lib/ant-nodeps-1.7.0.jar new file mode 100644 index 0000000..2d209fa Binary files /dev/null and b/src/installer/lib/ant-nodeps-1.7.0.jar differ diff --git a/src/installer/resources/build.xml b/src/installer/resources/build.xml new file mode 100644 index 0000000..ae85dfa --- /dev/null +++ b/src/installer/resources/build.xml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/installer/resources/install.properties b/src/installer/resources/install.properties new file mode 100644 index 0000000..c37d1c1 --- /dev/null +++ b/src/installer/resources/install.properties @@ -0,0 +1 @@ +ds.home = /etc/DiscoveryService \ No newline at end of file diff --git a/src/installer/resources/logging.xml b/src/installer/resources/logging.xml new file mode 100644 index 0000000..77fefd6 --- /dev/null +++ b/src/installer/resources/logging.xml @@ -0,0 +1,50 @@ + + + + + + + $DS_HOME$/logs/discoveryService.log + true + + + $DS_HOME$/logs/discovery-%d{yyyy-MM-dd}.log + + + + %date{HH:mm:ss.SSS} %level [%logger] %msg%n%ex{full}%n + + + + + true + + %date{HH:mm:ss.SSS} %level [%logger] %msg%n%ex{full}%n + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/installer/resources/wayfconfig.xml b/src/installer/resources/wayfconfig.xml new file mode 100644 index 0000000..1cd22d7 --- /dev/null +++ b/src/installer/resources/wayfconfig.xml @@ -0,0 +1,159 @@ + + + + + + + + Institution + University + State + School + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/webapp/WEB-INF/tlds/struts-bean.tld b/src/main/webapp/WEB-INF/tlds/struts-bean.tld new file mode 100644 index 0000000..7e95a46 --- /dev/null +++ b/src/main/webapp/WEB-INF/tlds/struts-bean.tld @@ -0,0 +1,1153 @@ + + + + + 1.3 + 1.2 + bean + http://struts.apache.org/tags-bean + + Note: Some of the features in this taglib are also + available in the JavaServer Pages Standard Tag Library (JSTL). + The Struts team encourages the use of the standard tags over the Struts + specific tags when possible.

+ +

This tag library contains tags useful in accessing beans and their + properties, as well as defining new beans (based on these accesses) + that are accessible to the remainder of the page via scripting variables + and page scope attributes. Convenient mechanisms to create new beans + based on the value of request cookies, headers, and parameters are also + provided.

+ +

Many of the tags in this tag library will throw a + JspException at runtime when they are utilized incorrectly + (such as when you specify an invalid combination of tag attributes). JSP + allows you to declare an "error page" in the <%@ page %> + directive. If you wish to process the actual exception that caused the + problem, it is passed to the error page as a request attribute under key + org.apache.struts.action.EXCEPTION.

+ + ]]> +
+ + cookie + org.apache.struts.taglib.bean.CookieTag + org.apache.struts.taglib.bean.CookieTei + empty + + + Define a scripting variable based on the value(s) of the specified + request cookie. +

+ +

Retrieve the value of the specified request cookie (as a single + value or multiple values, depending on the multiple attribute), + and define the result as a page scope attribute of type Cookie + (if multiple is not specified) or Cookie[] + (if multiple is specified).

+ +

If no cookie with the specified name can be located, and no default + value is specified, a request time exception will be thrown.

+ ]]> +
+ + id + true + false + + Specifies the name of the scripting variable (and associated page + scope attribute) that will be made available with the value of the + specified request cookie.

+ ]]> +
+
+ + multiple + false + true + + If any arbitrary value for this attribute is specified, causes all + matching cookies to be accumulated and stored into a bean of type + Cookie[]. If not specified, the first value for the + specified cookie will be retrieved as a value of type + Cookie.

+ ]]> +
+
+ + name + true + true + + Specifies the name of the request cookie whose value, or values, + is to be retrieved.

+ ]]> +
+
+ + value + false + true + + The default cookie value to return if no cookie with the + specified name was included in this request.

+ ]]> +
+
+
+ + define + org.apache.struts.taglib.bean.DefineTag + org.apache.struts.taglib.bean.DefineTei + JSP + + + Define a scripting variable based on the value(s) of the specified + bean property. +

+ +

Create a new attribute (in the scope specified by the + toScope property, if any), and a corresponding scripting + variable, both of which are named by the value of the id + attribute. The corresponding value to which this new attribute (and + scripting variable) is set are specified via use of exactly one of the + following approaches (trying to use more than one will result in a + JspException being thrown):

+
    +
  • Specify a name attribute (plus optional + property and scope attributes) - + The created attribute and scripting variable will be of the type of the + retrieved JavaBean property, unless it is a Java primitive type, + in which case it will be wrapped in the appropriate wrapper class + (i.e. int is wrapped by java.lang.Integer).
  • +
  • Specify a value attribute - The created attribute and + scripting variable will be of type java.lang.String, + set to the value of this attribute.
  • +
  • Specify nested body content - The created attribute and scripting + variable will be of type java.lang.String, set to + the value of the nested body content.
  • +
+ +

If a problem occurs while retrieving the specified bean property, a + request time exception will be thrown.

+ +

The <bean:define> tag differs from + <jsp:useBean> in several ways, including:

+
    +
  • Unconditionally creates (or replaces) a bean under the + specified identifier.
  • +
  • Can create a bean with the value returned by a property getter + of a different bean (including properties referenced with a + nested and/or indexed property name).
  • +
  • Can create a bean whose contents is a literal string (or the result + of a runtime expression) specified by the value + attribute.
  • +
  • Does not support nested content (such as + <jsp:setProperty> tags) that are only executed + if a bean was actually created.
  • +
+ +

USAGE NOTE - There is a restriction in the JSP 1.1 + Specification that disallows using the same value for an id + attribute more than once in a single JSP page. Therefore, you will not + be able to use <bean:define> for the same bean + name more than once in a single page.

+ +

USAGE NOTE - If you use another tag to create the + body content (e.g. bean:write), that tag must return a non-empty String. + An empty String equates to an empty body or a null String, and a new + scripting variable cannot be defined as null. Your bean must return a + non-empty String, or the define tag must be wrapped within a logic tag + to test for an empty or null value.

+ +

USAGE NOTE - You cannot use bean:define to instantiate + a DynaActionForm (type="org.apache.struts.action.DynaActionForm") with + the properties specified in the struts-config. The mechanics of creating + the dyna-properties is complex and cannot be handled by a no-argument + constructor. If you need to create an ActionForm this way, you must use + a conventional ActionForm. +

+ +

See the Bean Developer's Guide section on + + bean creation for more information about these differences, as well + as alternative approaches to introducing beans into a JSP page.

+ ]]> +
+ + id + true + false + + Specifies the name of the scripting variable (and associated page + scope attribute) that will be made available with the value of the + specified property.

+ ]]> +
+
+ + name + false + true + + Specifies the attribute name of the bean whose property is accessed + to define a new page scope attribute (if property is also + specified) or the attribute name of the bean that is duplicated with + the new reference created by this tag (if property is not + also specified). This attribute is required unless you specify + a value attribute or nested body content.

+ ]]> +
+
+ + property + false + true + + Specifies the name of the property to be accessed on the bean + specified by name. This value may be a simple, indexed, + or nested property reference expression. If not specified, the bean + identified by name is given a new reference identified by + id.

+ ]]> +
+
+ + scope + false + true + + Specifies the variable scope searched to retrieve the bean specified + by name. If not specified, the default rules applied by + PageContext.findAttribute() are applied.

+ ]]> +
+
+ + toScope + false + true + + Specifies the variable scope into which the newly defined bean will + be created. If not specified, the bean will be created in + page scope.

+ ]]> +
+
+ + type + false + true + + Specifies the fully qualified class name of the value to be exposed + as the id attribute.

+ ]]> +
+
+ + value + false + true + + The java.lang.String value to which the exposed bean + should be set. This attribute is required unless you specify the + name attribute or nested body content.

+ ]]> +
+
+
+ + header + org.apache.struts.taglib.bean.HeaderTag + org.apache.struts.taglib.bean.HeaderTei + empty + + + Define a scripting variable based on the value(s) of the specified + request header. +

+ +

Retrieve the value of the specified request header (as a single + value or multiple values, depending on the multiple attribute), + and define the result as a page scope attribute of type String + (if multiple is not specified) or String[] + (if multiple is specified).

+ +

If no header with the specified name can be located, and no default + value is specified, a request time exception will be thrown.

+ ]]> +
+ + id + true + false + + Specifies the name of the scripting variable (and associated page + scope attribute) that will be made available with the value of the + specified request header.

+ ]]> +
+
+ + multiple + false + true + + If any arbitrary value for this attribute is specified, causes a call + to HttpServletRequest.getHeaders() and a definition of the + result as a bean of type String[]. Otherwise, + HttpServletRequest.getHeader() will be called, and a + definition of the result as a bean of type String + will be performed.

+ ]]> +
+
+ + name + true + true + + Specifies the name of the request header whose value, or values, + is to be retrieved.

+ ]]> +
+
+ + value + false + true + + The default header value to return if no header with the + specified name was included in this request.

+ ]]> +
+
+
+ + include + org.apache.struts.taglib.bean.IncludeTag + org.apache.struts.taglib.bean.IncludeTei + empty + + + Load the response from a dynamic application request and make it available + as a bean. +

+ +

Perform an internal dispatch to the specified application component + (or external URL) + and make the response data from that request available as a bean of + type String. This tag has a function similar to that of + the standard <jsp:include> tag, except that the + response data is stored in a page scope attribute instead of being + written to the output stream. If the current request is part of a + session, the generated request for the include will also include the + session identifier (and thus be part of the same session).

+ +

The URL used to access the specified application component is + calculated based on which of the following attributes you specify + (you must specify exactly one of them):

+
    +
  • forward - Use the value of this attribute as the name + of a global ActionForward to be looked up, and + use the module-relative or context-relative URI found there.
  • +
  • href - Use the value of this attribute unchanged (since + this might link to a resource external to the application, the + session identifier is not included.
  • +
  • page - Use the value of this attribute as an + module-relative URI to the desired resource.
  • +
+ ]]> +
+ + anchor + false + true + + Optional anchor tag ("#xxx") to be added to the generated + hyperlink. Specify this value without any + "#" character.

+ ]]> +
+
+ + forward + false + true + + Logical name of a global ActionForward that contains + the actual content-relative URI of the resource to be included.

+ ]]> +
+
+ + href + false + true + + Absolute URL (including the appropriate protocol prefix such as + "http:") of the resource to be included. Because this URL could be + external to the current web application, the session identifier will + not be included in the request.

+ ]]> +
+
+ + id + true + false + + Specifies the name of the scripting variable (and associated page + scope attribute) that will be made available with the value of the + specified web application resource.

+ ]]> +
+
+ + page + false + true + + Module-relative URI (starting with a '/') of the web application + resource to be included.

+ ]]> +
+
+ + transaction + false + true + boolean + + Set to true if you want the current + transaction control token included in the generated + URL for this include.

+ ]]> +
+
+
+ + message + org.apache.struts.taglib.bean.MessageTag + empty + + + Render an internationalized message string to the response. +

+ +

Retrieves an internationalized message for the specified locale, + using the specified message key, and write it to the output stream. + Up to five parametric replacements (such as "{0}") may be specified.

+ +

The message key may be specified directly, using the key + attribute, or indirectly, using the name and + property attributes to obtain it from a bean.

+ +

+ JSTL: The equivalent JSTL tag is <fmt:message>. For example, +
+ + <fmt:message key="my.msg.key"> + <fmt:param value="replacement text"/> + </fmt:message> + +

+ ]]> +
+ + arg0 + false + true + + First parametric replacement value, if any.

+ ]]> +
+
+ + arg1 + false + true + + Second parametric replacement value, if any.

+ ]]> +
+
+ + arg2 + false + true + + Third parametric replacement value, if any.

+ ]]> +
+
+ + arg3 + false + true + + Fourth parametric replacement value, if any.

+ ]]> +
+
+ + arg4 + false + true + + Fifth parametric replacement value, if any.

+ ]]> +
+
+ + bundle + false + true + + The name of the application scope bean under which the + MessageResources object containing our messages + is stored.

+ ]]> +
+
+ + key + false + true + + The message key of the requested message, which must have + a corresponding value in the message resources. If not specified, + the key is obtained from the name and + property attributes.

+ ]]> +
+
+ + locale + false + true + + The name of the session scope bean under which our currently + selected Locale object is stored.

+ ]]> +
+
+ + name + false + true + + Specifies the attribute name of the bean whose property is accessed + to retrieve the value specified by property (if + specified). If property is not specified, the value of + this bean itself will be used as the message resource key.

+ ]]> +
+
+ + property + false + true + + Specifies the name of the property to be accessed on the bean + specified by name. This value may be a simple, indexed, + or nested property reference expression. If not specified, the value + of the bean identified by name will itself be used as the + message resource key.

+ ]]> +
+
+ + scope + false + true + + Specifies the variable scope searched to retrieve the bean specified + by name. If not specified, the default rules applied by + PageContext.findAttribute() are applied.

+ ]]> +
+
+
+ + page + org.apache.struts.taglib.bean.PageTag + org.apache.struts.taglib.bean.PageTei + empty + + + Expose a specified item from the page context as a bean. +

+ +

Retrieve the value of the specified item from the page context + for this page, and define it as a scripting variable, and a page scope + attribute accessible to the remainder of the current page.

+ +

If a problem occurs while retrieving the specified configuration + object, a request time exception will be thrown.

+ ]]> +
+ + id + true + false + + Specifies the name of the scripting variable (and associated + page scope attribute) that will be made available with the value of + the specified page context property.

+ ]]> +
+
+ + property + true + true + + Name of the property from our page context to be retrieved and + exposed. Must be one of application, config, + request, response, or session. +

+ ]]> +
+
+
+ + parameter + org.apache.struts.taglib.bean.ParameterTag + org.apache.struts.taglib.bean.ParameterTei + empty + + + Define a scripting variable based on the value(s) of the specified + request parameter. +

+ +

Retrieve the value of the specified request parameter (as a single + value or multiple values, depending on the multiple attribute), + and define the result as a page scope attribute of type String + (if multiple is not specified) or String[] + (if multiple is specified).

+ +

If no request parameter with the specified name can be located, and + no default value is specified, a request time exception will be thrown.

+ ]]> +
+ + id + true + false + + Specifies the name of the scripting variable (and associated page + scope attribute) that will be made available with the value of the + specified request parameter.

+ ]]> +
+
+ + multiple + false + true + + If any arbitrary value for this attribute is specified, causes a call + to ServletRequest.getParameterValues() and a definition of + the result as a bean of type String[]. Otherwise, + ServletRequest.getParameter() will be called, and a + definition of the result as a bean of type String + will be performed.

+ ]]> +
+
+ + name + true + true + + Specifies the name of the request parameter whose value, or values, + is to be retrieved.

+ ]]> +
+
+ + value + false + true + + The default parameter value to return if no parameter with the + specified name was included in this request.

+ ]]> +
+
+
+ + resource + org.apache.struts.taglib.bean.ResourceTag + org.apache.struts.taglib.bean.ResourceTei + empty + + + Load a web application resource and make it available as a bean. +

+ +

Retrieve the value of the specified web application resource, and make + it available as either a InputStream or a String, + depending on the value of the input attribute.

+ +

If a problem occurs while retrieving the specified resource, a + request time exception will be thrown.

+ ]]> +
+ + id + true + false + + Specifies the name of the scripting variable (and associated page + scope attribute) that will be made available with the value of the + specified web application resource.

+ ]]> +
+
+ + input + false + true + + If any arbitrary value for this attribute is specified, the resource + will be made available as an InputStream. If this + attribute is not specified, the resource will be made available + as a String.

+ ]]> +
+
+ + name + true + true + + Module-relative name (starting with a '/') of the web application + resource to be loaded and made available.

+ ]]> +
+
+
+ + size + org.apache.struts.taglib.bean.SizeTag + org.apache.struts.taglib.bean.SizeTei + empty + + + Define a bean containing the number of elements in a Collection or Map. +

+ +

Given a reference to an array, Collection or Map, creates a new bean, of + type java.lang.Integer, whose value is the number of elements + in that collection. You can specify the collection to be counted in any + one of the following ways:

+
    +
  • As a runtime expression specified as the value of the + collection attribute.
  • +
  • As a JSP bean specified by the name attribute.
  • +
  • As the property, specified by the property attribute, + of the JSP bean specified by the name attribute.
  • +
+ ]]> +
+ + collection + false + true + java.lang.Object + + A runtime expression that evaluates to an array, a Collection, or + a Map.

+ ]]> +
+
+ + id + true + false + + The name of a page scope JSP bean, of type + java.lang.Integer, that will be created to contain the + size of the underlying collection being counted.

+ ]]> +
+
+ + name + false + true + + The name of the JSP bean (optionally constrained to the scope + specified by the scope attribute) that contains the + collection to be counted (if property is not specified), + or whose property getter is called to return the collection to be + counted (if property is specified.

+ ]]> +
+
+ + property + false + true + + The name of the property, of the bean specified by the + name attribute, whose getter method will return the + collection to be counted.

+ ]]> +
+
+ + scope + false + true + + The bean scope within which to search for the JSP bean specified + by the name attribute. If not specified, the available + scopes are searched in ascending sequence.

+ ]]> +
+
+
+ + struts + org.apache.struts.taglib.bean.StrutsTag + org.apache.struts.taglib.bean.StrutsTei + empty + + + Expose a named Struts internal configuration object as a bean. +

+ +

Retrieve the value of the specified Struts internal configuration + object, and define it as a scripting variable and as a page scope + attribute accessible to the remainder of the current page. You must + specify exactly one of the formBean, forward, + and mapping attributes to select the configuration object + to be exposed.

+ +

If a problem occurs while retrieving the specified configuration + object, a request time exception will be thrown.

+ ]]> +
+ + id + true + false + + Specifies the name of the scripting variable (and associated + page scope attribute) that will be made available with the value of + the specified Struts internal configuration object.

+ ]]> +
+
+ + formBean + false + true + + Specifies the name of the Struts ActionFormBean + definition object to be exposed.

+ ]]> +
+
+ + forward + false + true + + Specifies the name of the global Struts ActionForward + definition object to be exposed.

+ ]]> +
+
+ + mapping + false + true + + Specifies the matching path of the Struts ActionMapping + definition object to be exposed.

+ ]]> +
+
+
+ + write + org.apache.struts.taglib.bean.WriteTag + empty + + + Render the value of the specified bean property to the current + JspWriter. +

+ +

Retrieve the value of the specified bean property, and render it to the + current JspWriter as a String by the ways:

+
    +
  • If format attribute exists then value will be formatted on base of format + string from format attribute and default system locale.
  • +
  • If in resources exists format string for value data type (view format + attribute description) then value will be formatted on base of format string + from resources. Resources bundle and target locale can be specified with + bundle and locale attributes. If nothing specified then + default resource bundle and current user locale will be used.
  • +
  • If there is a PropertyEditor configured for the property value's class, the + getAsText() method will be called.
  • +
  • Otherwise, the usual toString() conversions will be applied.
  • +
+

When a format string is provided, numeric values are formatted using the + java.text.DecimalFormat class; if the format string came from + a resource, the applyLocalisedPattern() method is used, and + applyPattern() is used otherwise. Dates are formatted using + the SimpleDateFormat class. For details of the specific format + patterns, please see the Javadocs for those classes.

+

If a problem occurs while retrieving the specified bean property, a + request time exception will be thrown.

+ ]]> +
+ + bundle + false + true + + The name of the application scope bean under which the + MessageResources object containing our messages + is stored.

+ ]]> +
+
+ + filter + false + true + boolean + + If this attribute is set to true, the rendered property + value will be filtered for characters that are sensitive in HTML, and any + such characters will be replaced by their entity equivalents.

+ ]]> +
+
+ + format + false + true + + Specifies the format string to use to convert bean or property value + to the String. If nothing specified, then default format + string for value data type will be searched in message resources by + according key.

+ + ]]> +
+
+ + formatKey + false + true + + Specifies the key to search format string in application resources.

+ ]]> +
+
+ + ignore + false + true + boolean + + If this attribute is set to true, and the bean specified + by the name and scope attributes does not + exist, simply return without writing anything. If this attribute is + set to false, a runtime exception to be thrown, + consistent with the other tags in this tag library.

+ ]]> +
+
+ + locale + false + true + + The name of the session scope bean under which our currently + selected Locale object is stored.

+ ]]> +
+
+ + name + true + true + + Specifies the attribute name of the bean whose property is accessed + to retrieve the value specified by property (if + specified). If property is not specified, the value of + this bean itself will be rendered.

+ ]]> +
+
+ + property + false + true + + Specifies the name of the property to be accessed on the bean + specified by name. This value may be a simple, indexed, + or nested property reference expression. If not specified, the bean + identified by name will itself be rendered. If the + specified property returns null, no output will be rendered.

+ ]]> +
+
+ + scope + false + true + + Specifies the variable scope searched to retrieve the bean specified + by name. If not specified, the default rules applied by + PageContext.findAttribute() are applied.

+ ]]> +
+
+
+
+ + + diff --git a/src/main/webapp/WEB-INF/tlds/struts-logic.tld b/src/main/webapp/WEB-INF/tlds/struts-logic.tld new file mode 100644 index 0000000..fe638ae --- /dev/null +++ b/src/main/webapp/WEB-INF/tlds/struts-logic.tld @@ -0,0 +1,1893 @@ + + + + + 1.3 + 1.2 + logic + http://struts.apache.org/tags-logic + + Note: Some of the features in this taglib are also + available in the JavaServer Pages Standard Tag Library (JSTL). + The Struts team encourages the use of the standard tags over the Struts + specific tags when possible.

+ +

This tag library contains tags that are useful in managing conditional + generation of output text, looping over object collections for + repetitive generation of output text, and application flow management.

+ +

For tags that do value comparisons (equal, + greaterEqual, greaterThan, lessEqual, + lessThan, notEqual), the following rules apply:

+
    +
  • The specified value is examined. If it can be converted successfully + to a double or a long, it is assumed that the + ultimate comparison will be numeric (either floating point or integer). + Otherwise, a String comparison will be performed.
  • +
  • The variable to be compared to is retrieved, based on the selector + attribute(s) (cookie, header, + name, parameter, property) + present on this tag. It will be converted to the appropriate type + for the comparison, as determined above.
  • +
  • If the specified variable or property returns null, it will be + coerced to a zero-length string before the comparison occurs.
  • +
  • The specific comparison for this tag will be performed, and the nested + body content of this tag will be evaluated if the comparison returns + a true result.
  • +
+ +

For tags that do substring matching (match, + notMatch), the following rules apply:

+
    +
  • The specified variable is retrieved, based on the selector attribute(s) + (cookie, header, name, + parameter, property) present on this tag. + The variable is converted to a String, if necessary.
  • +
  • A request time exception will be thrown if the specified variable + cannot be retrieved, or has a null value.
  • +
  • The specified value is checked for existence as a substring of the + variable, in the position specified by the location + attribute, as follows: at the beginning (if location is set to + start), at the end (if location is set to + end), or anywhere (if location is not specified).
  • +
+ +

Many of the tags in this tag library will throw a + JspException at runtime when they are utilized incorrectly + (such as when you specify an invalid combination of tag attributes). JSP + allows you to declare an "error page" in the <%@ page %> + directive. If you wish to process the actual exception that caused the + problem, it is passed to the error page as a request attribute under key + org.apache.struts.action.EXCEPTION.

+ + ]]> +
+ + empty + org.apache.struts.taglib.logic.EmptyTag + JSP + + + Evaluate the nested body content of this tag if the requested variable is + either null or an empty string. +

+ +

This tag evaluates its nested body content only if the specified value + is either absent (i.e. null), an empty string (i.e. a + java.lang.String with a length of zero), or an empty + java.util.Collection or java.util.Map (tested by + the .isEmpty() method on the respective interface).

+ +

+ JSTL: The equivalent JSTL tag is <c:if> using the + empty operator. For example, +
+ + <c:if test="${empty sessionScope.myBean.myProperty}"> + do something + </c:if> + +

+ +
Since:
+
Struts 1.1
+ ]]> +
+ + name + false + true + + The variable to be compared is the JSP bean specified by this + attribute, if property is not specified, or the value + of the specified property of this bean, if property + is specified.

+ ]]> +
+
+ + property + false + true + + The variable to be compared is the property (of the bean specified + by the name attribute) specified by this attribute. + The property reference can be simple, nested, and/or indexed.

+ ]]> +
+
+ + scope + false + true + + The bean scope within which to search for the bean named by the + name property, or "any scope" if not specified.

+ ]]> +
+
+
+ + equal + org.apache.struts.taglib.logic.EqualTag + JSP + + + Evaluate the nested body content of this tag if the requested + variable is equal to the specified value. +

+ +

Compares the variable specified by one of the selector attributes + against the specified constant value. The nested body content of this + tag is evaluated if the variable and value are equal. +

+ ]]> +
+ + cookie + false + true + + The variable to be compared is the value of the cookie whose + name is specified by this attribute.

+ ]]> +
+
+ + header + false + true + + The variable to be compared is the value of the header whose + name is specified by this attribute. The name match is performed + in a case insensitive manner.

+ ]]> +
+
+ + name + false + true + + The variable to be compared is the JSP bean specified by this + attribute, if property is not specified, or the value + of the specified property of this bean, if property + is specified.

+ ]]> +
+
+ + parameter + false + true + + The variable to be compared is the first, or only, value of the + request parameter specified by this attribute.

+ ]]> +
+
+ + property + false + true + + The variable to be compared is the property (of the bean specified + by the name attribute) specified by this attribute. + The property reference can be simple, nested, and/or indexed.

+ ]]> +
+
+ + scope + false + true + + The bean scope within which to search for the bean named by the + name property, or "any scope" if not specified.

+ ]]> +
+
+ + value + true + true + + The constant value to which the variable, specified by other + attribute(s) of this tag, will be compared.

+ ]]> +
+
+
+ + forward + org.apache.struts.taglib.logic.ForwardTag + empty + + + Forward control to the page specified by the specified ActionForward + entry. +

+ +

Performs a PageContext.forward() or + HttpServletResponse.sendRedirect() call for the global + ActionForward entry for the specified name. URL + rewriting will occur automatically if a redirect is performed.

+ ]]> +
+ + name + true + true + + + The logical name of the global ActionForward entry + that identifies the destination, and forwarding approach, to be used. + Note: forwarding to Tiles definitions is not supported + from this tag. You should forward to them from an Action subclass. +

+ ]]> +
+
+
+ + greaterEqual + org.apache.struts.taglib.logic.GreaterEqualTag + JSP + + + Evaluate the nested body content of this tag if the requested + variable is greater than or equal to the specified value. +

+ +

Compares the variable specified by one of the selector attributes + against the specified constant value. The nested body content of this + tag is evaluated if the variable is greater than or equal + to the value.

+ ]]> +
+ + cookie + false + true + + The variable to be compared is the value of the cookie whose + name is specified by this attribute.

+ ]]> +
+
+ + header + false + true + + The variable to be compared is the value of the header whose + name is specified by this attribute. The name match is performed + in a case insensitive manner.

+ ]]> +
+
+ + name + false + true + + The variable to be compared is the JSP bean specified by this + attribute, if property is not specified, or the value + of the specified property of this bean, if property + is specified.

+ ]]> +
+
+ + parameter + false + true + + The variable to be compared is the first, or only, value of the + request parameter specified by this attribute.

+ ]]> +
+
+ + property + false + true + + The variable to be compared is the property (of the bean specified + by the name attribute) specified by this attribute. + The property reference can be simple, nested, and/or indexed.

+ ]]> +
+
+ + scope + false + true + + The bean scope within which to search for the bean named by the + name property, or "any scope" if not specified.

+ ]]> +
+
+ + value + true + true + + The constant value to which the variable, specified by other + attribute(s) of this tag, will be compared.

+ ]]> +
+
+
+ + greaterThan + org.apache.struts.taglib.logic.GreaterThanTag + JSP + + + Evaluate the nested body content of this tag if the requested + variable is greater than the specified value. +

+ +

Compares the variable specified by one of the selector attributes + against the specified constant value. The nested body content of this + tag is evaluated if the variable is greater than + the value.

+ ]]> +
+ + cookie + false + true + + The variable to be compared is the value of the cookie whose + name is specified by this attribute.

+ ]]> +
+
+ + header + false + true + + The variable to be compared is the value of the header whose + name is specified by this attribute. The name match is performed + in a case insensitive manner.

+ ]]> +
+
+ + name + false + true + + The variable to be compared is the JSP bean specified by this + attribute, if property is not specified, or the value + of the specified property of this bean, if property + is specified.

+ ]]> +
+
+ + parameter + false + true + + The variable to be compared is the first, or only, value of the + request parameter specified by this attribute.

+ ]]> +
+
+ + property + false + true + + The variable to be compared is the property (of the bean specified + by the name attribute) specified by this attribute. + The property reference can be simple, nested, or indexed.

+ ]]> +
+
+ + scope + false + true + + The bean scope within which to search for the bean named by the + name property, or "any scope" if not specified.

+ ]]> +
+
+ + value + true + true + + The constant value to which the variable, specified by other + attribute(s) of this tag, will be compared.

+ ]]> +
+
+
+ + iterate + org.apache.struts.taglib.logic.IterateTag + org.apache.struts.taglib.logic.IterateTei + JSP + + + Repeat the nested body content of this tag over a specified collection. +

+ +

Repeats the nested body content of this tag once for every element + of the specified collection, which must be an Iterator, + a Collection, a Map (whose values are to be + iterated over), or an array. The collection to be iterated over must be + specified in one of the following ways:

+
    +
  • As a runtime expression specified as the value of the + collection attribute.
  • +
  • As a JSP bean specified by the name attribute.
  • +
  • As the property, specified by the property, of the + JSP bean specified by the name attribute.
  • +
+ +

The collection to be iterated over MUST conform to one of the following + requirements in order for iteration to be successful:

+
    +
  • An array of Java objects or primitives.
  • + +
  • An implementation of java.util.Collection, including + ArrayList and Vector.
  • +
  • An implementation of java.util.Enumeration.
  • +
  • An implementation of java.util.Iterator.
  • +
  • An implementation of java.util.Map, including + HashMap, Hashtable, and + TreeMap. NOTE - See below for + additional information about accessing Maps.
  • +
+ +

Normally, each object exposed by the iterate tag is an element + of the underlying collection you are iterating over. However, if you + iterate over a Map, the exposed object is of type + Map.Entry that has two properties:

+
    +
  • key - The key under which this item is stored in the + underlying Map.
  • +
  • value - The value that corresponds to this key.
  • +
+ +

So, if you wish to iterate over the values of a Hashtable, you would + implement code like the following:

+ + <logic:iterate id="element" name="myhashtable">
+ Next element is <bean:write name="element" property="value"/>
+ </logic:iterate> +
+ +

If the collection you are iterating over can contain null + values, the loop will still be performed but no page scope attribute + (named by the id attribute) will be created for that loop + iteration. You can use the <logic:present> and + <logic:notPresent> tags to test for this case.

+ + ]]> +
+ + collection + false + true + java.lang.Object + + A runtime expression that evaluates to a collection (conforming to + the requirements listed above) to be iterated over.

+ ]]> +
+
+ + id + true + false + + The name of a page scope JSP bean that will contain the current + element of the collection on each iteration, if it is not + null.

+ ]]> +
+
+ + indexId + false + false + + The name of a page scope JSP bean that will contain the current + index of the collection on each iteration.

+ ]]> +
+
+ + length + false + true + + The maximum number of entries (from the underlying collection) to be + iterated through on this page. This can be either an integer that + directly expresses the desired value, or the name of a JSP bean (in + any scope) of type java.lang.Integer that defines the + desired value. If not present, there will be no limit on the number + of iterations performed.

+ ]]> +
+
+ + name + false + true + + The name of the JSP bean containing the collection to be iterated + (if property is not specified), or the JSP bean whose + property getter returns the collection to be iterated (if + property is specified).

+ ]]> +
+
+ + offset + false + true + + The zero-relative index of the starting point at which entries from + the underlying collection will be iterated through. This can be either + an integer that directly expresses the desired value, or the name of a + JSP bean (in any scope) of type java.lang.Integer that + defines the desired value. If not present, zero is assumed (meaning + that the collection will be iterated from the beginning.

+ ]]> +
+
+ + property + false + true + + Name of the property, of the JSP bean specified by name, + whose getter returns the collection to be iterated.

+ ]]> +
+
+ + scope + false + true + + The bean scope within which to search for the bean named by the + name property, or "any scope" if not specified.

+ ]]> +
+
+ + type + false + true + + Fully qualified Java class name of the element to be exposed through + the JSP bean named from the id attribute. If not present, + no type conversions will be performed. NOTE: The actual elements of + the collection must be assignment-compatible with this class, or a + request time ClassCastException will occur.

+ ]]> +
+
+
+ + lessEqual + org.apache.struts.taglib.logic.LessEqualTag + JSP + + + Evaluate the nested body content of this tag if the requested + variable is less than or equal to the specified value. +

+ +

Compares the variable specified by one of the selector attributes + against the specified constant value. The nested body content of this + tag is evaluated if the variable is less than or equal + to the value.

+ ]]> +
+ + cookie + false + true + + The variable to be compared is the value of the cookie whose + name is specified by this attribute.

+ ]]> +
+
+ + header + false + true + + The variable to be compared is the value of the header whose + name is specified by this attribute. The name match is performed + in a case insensitive manner.

+ ]]> +
+
+ + name + false + true + + The variable to be compared is the JSP bean specified by this + attribute, if property is not specified, or the value + of the specified property of this bean, if property + is specified.

+ ]]> +
+
+ + parameter + false + true + + The variable to be compared is the first, or only, value of the + request parameter specified by this attribute.

+ ]]> +
+
+ + property + false + true + + The variable to be compared is the property (of the bean specified + by the name attribute) specified by this attribute. + The property reference can be simple, nested, or indexed.

+ ]]> +
+
+ + scope + false + true + + The bean scope within which to search for the bean named by the + name property, or "any scope" if not specified.

+ ]]> +
+
+ + value + true + true + + The constant value to which the variable, specified by other + attribute(s) of this tag, will be compared.

+ ]]> +
+
+
+ + lessThan + org.apache.struts.taglib.logic.LessThanTag + JSP + + + Evaluate the nested body content of this tag if the requested + variable is less than the specified value. +

+ +

Compares the variable specified by one of the selector attributes + against the specified constant value. The nested body content of this + tag is evaluated if the variable is less than + the value.

+ ]]> +
+ + cookie + false + true + + The variable to be compared is the value of the cookie whose + name is specified by this attribute.

+ ]]> +
+
+ + header + false + true + + The variable to be compared is the value of the header whose + name is specified by this attribute. The name match is performed + in a case insensitive manner.

+ ]]> +
+
+ + name + false + true + + The variable to be compared is the JSP bean specified by this + attribute, if property is not specified, or the value + of the specified property of this bean, if property + is specified.

+ ]]> +
+
+ + parameter + false + true + + The variable to be compared is the first, or only, value of the + request parameter specified by this attribute.

+ ]]> +
+
+ + property + false + true + + The variable to be compared is the property (of the bean specified + by the name attribute) specified by this attribute. + The property reference can be simple, nested, and/or indexed.

+ ]]> +
+
+ + scope + false + true + + The bean scope within which to search for the bean named by the + name property, or "any scope" if not specified.

+ ]]> +
+
+ + value + true + true + + The constant value to which the variable, specified by other + attribute(s) of this tag, will be compared.

+ ]]> +
+
+
+ + match + org.apache.struts.taglib.logic.MatchTag + JSP + + + Evaluate the nested body content of this tag if the specified value + is an appropriate substring of the requested variable. +

+ +

Matches the variable specified by one of the selector attributes + (as a String) against the specified constant value. If the value is + a substring (appropriately limited by the location + attribute), the nested body content of this tag is evaluated.

+ ]]> +
+ + cookie + false + true + + The variable to be matched is the value of the cookie whose + name is specified by this attribute.

+ ]]> +
+
+ + header + false + true + + The variable to be matched is the value of the header whose + name is specified by this attribute. The name match is performed + in a case insensitive manner.

+ ]]> +
+
+ + location + false + true + + If not specified, a match between the variable and the value may + occur at any position within the variable string. If specified, the + match must occur at the specified location (either start + or end) of the variable string.

+ ]]> +
+
+ + name + false + true + + The variable to be matched is the JSP bean specified by this + attribute, if property is not specified, or the value + of the specified property of this bean, if property + is specified.

+ ]]> +
+
+ + parameter + false + true + + The variable to be matched is the first, or only, value of the + request parameter specified by this attribute.

+ ]]> +
+
+ + property + false + true + + The variable to be matched is the property (of the bean specified + by the name attribute) specified by this attribute. + The property reference can be simple, nested, and/or indexed.

+ ]]> +
+
+ + scope + false + true + + The bean scope within which to search for the bean named by the + name property, or "any scope" if not specified.

+ ]]> +
+
+ + value + true + true + + The constant value which is checked for existence as a substring + of the specified variable.

+ ]]> +
+
+
+ + messagesNotPresent + + org.apache.struts.taglib.logic.MessagesNotPresentTag + JSP + + + Generate the nested body content of this tag if the specified + message is not present in any scope. +

+ +

Evaluates the nested body content of this tag if + an ActionMessages + object, ActionErrors object, a String, + or a String array is not present in any scope. If + such a bean is found, nothing will be rendered. +

+ +
Since:
+
Struts 1.1
+ ]]> +
+ + name + false + true + + The parameter key used to retrieve the message from page, request, + session or application scope.

+ ]]> +
+
+ + property + false + true + + Name of the property for which messages should be + retrieved. If not specified, all messages (regardless + of property) are retrieved. +

+ ]]> +
+
+ + message + false + true + + By default the tag will retrieve the bean it will + iterate over from the Globals.ERROR_KEY constant string, + but if this attribute is set to 'true' the bean + will be retrieved from the Globals.MESSAGE_KEY + constant string. Also if this is set to 'true', any value + assigned to the name attribute will be ignored. +

+ ]]> +
+
+
+ + messagesPresent + + org.apache.struts.taglib.logic.MessagesPresentTag + JSP + + + Generate the nested body content of this tag if the specified + message is present in any scope. +

+ +

Evaluates the nested body content of this tag if + an ActionMessages + object, ActionErrors object, a String, + or a String array is present in any scope. If + such a bean is not found, nothing will be rendered. +

+ +
Since:
+
Struts 1.1
+ ]]> +
+ + name + false + true + + The parameter key used to retrieve the message from page, request, + session, or application scope.

+ ]]> +
+
+ + property + false + true + + Name of the property for which messages should be + retrieved. If not specified, all messages (regardless + of property) are retrieved. +

+ ]]> +
+
+ + message + false + true + + By default the tag will retrieve the bean it will + iterate over from the Globals.ERROR_KEY constant string, + but if this attribute is set to 'true' the bean + will be retrieved from the Globals.MESSAGE_KEY + constant string. Also if this is set to 'true', any value + assigned to the name attribute will be ignored. +

+ ]]> +
+
+
+ + notEmpty + org.apache.struts.taglib.logic.NotEmptyTag + JSP + + + Evaluate the nested body content of this tag if the requested variable is + neither null, nor an empty string, nor an empty java.util.Collection + (tested by the .isEmpty() method on the java.util.Collection interface). +

+ +

This tag evaluates its nested body content only if the specified value + is present (i.e. not null) and is not an empty string (i.e. a + java.lang.String with a length of zero).

+ +

+ JSTL: The equivalent JSTL tag is <c:if> using the + ! empty operator. For example, +
+ + <c:if test="${ ! empty sessionScope.myBean.myProperty}"> + do something + </c:if> + +

+ ]]> +
+ + name + false + true + + The variable to be compared is the JSP bean specified by this + attribute, if property is not specified, or the value + of the specified property of this bean, if property + is specified.

+ ]]> +
+
+ + property + false + true + + The variable to be compared is the property (of the bean specified + by the name attribute) specified by this attribute. + The property reference can be simple, nested, and/or indexed.

+ ]]> +
+
+ + scope + false + true + + The bean scope within which to search for the bean named by the + name property, or "any scope" if not specified.

+ ]]> +
+
+
+ + notEqual + org.apache.struts.taglib.logic.NotEqualTag + JSP + + + Evaluate the nested body content of this tag if the requested + variable is not equal to the specified value. +

+ +

Compares the variable specified by one of the selector attributes + against the specified constant value. The nested body content of this + tag is evaluated if the variable and value are not equal. +

+ ]]> +
+ + cookie + false + true + + The variable to be compared is the value of the cookie whose + name is specified by this attribute.

+ ]]> +
+
+ + header + false + true + + The variable to be compared is the value of the header whose + name is specified by this attribute. The name match is performed + in a case insensitive manner.

+ ]]> +
+
+ + name + false + true + + The variable to be compared is the JSP bean specified by this + attribute, if property is not specified, or the value + of the specified property of this bean, if property + is specified.

+ ]]> +
+
+ + parameter + false + true + + The variable to be compared is the first, or only, value of the + request parameter specified by this attribute.

+ ]]> +
+
+ + property + false + true + + The variable to be compared is the property (of the bean specified + by the name attribute) specified by this attribute. + The property reference can be simple, nested, and/or indexed.

+ ]]> +
+
+ + scope + false + true + + The bean scope within which to search for the bean named by the + name property, or "any scope" if not specified.

+ ]]> +
+
+ + value + true + true + + The constant value to which the variable, specified by other + attribute(s) of this tag, will be compared.

+ ]]> +
+
+
+ + notMatch + org.apache.struts.taglib.logic.NotMatchTag + JSP + + + Evaluate the nested body content of this tag if the specified value + is not an appropriate substring of the requested variable. +

+ +

Matches the variable specified by one of the selector attributes + (as a String) against the specified constant value. If the value is + not a substring (appropriately limited by the location + attribute), the nested body content of this tag is evaluated.

+ ]]> +
+ + cookie + false + true + + The variable to be matched is the value of the cookie whose + name is specified by this attribute.

+ ]]> +
+
+ + header + false + true + + The variable to be matched is the value of the header whose + name is specified by this attribute. The name match is performed + in a case insensitive manner.

+ ]]> +
+
+ + location + false + true + + If not specified, a match between the variable and the value may + occur at any position within the variable string. If specified, the + match must occur at the specified location (either start + or end) of the variable string.

+ ]]> +
+
+ + name + false + true + + The variable to be matched is the JSP bean specified by this + attribute, if property is not specified, or the value + of the specified property of this bean, if property + is specified.

+ ]]> +
+
+ + parameter + false + true + + The variable to be matched is the first, or only, value of the + request parameter specified by this attribute.

+ ]]> +
+
+ + property + false + true + + The variable to be matched is the property (of the bean specified + by the name attribute) specified by this attribute. + The property reference can be simple, nested, and/or indexed.

+ ]]> +
+
+ + scope + false + true + + The bean scope within which to search for the bean named by the + name property, or "any scope" if not specified.

+ ]]> +
+
+ + value + true + true + + The constant value which is checked for existence as a substring + of the specified variable.

+ ]]> +
+
+
+ + notPresent + org.apache.struts.taglib.logic.NotPresentTag + JSP + + + Generate the nested body content of this tag if the specified + value is not present in this request. +

+ +

Depending on which attribute is specified, this tag checks the + current request, and evaluates the nested body content of this tag + only if the specified value is not present. Only one + of the attributes may be used in one occurrence of this tag, unless + you use the property attribute, in which case the + name attribute is also required.

+ ]]> +
+ + cookie + false + true + + Checks for the existence of a cookie with the specified name.

+ ]]> +
+
+ + header + false + true + + Checks for the existence of an HTTP header with the specified + name. The name match is performed in a case insensitive manner.

+ ]]> +
+
+ + name + false + true + + Checks for the existence of a JSP bean, in any scope, with the + specified name. If property is also specified, checks + for a non-null property value for the specified property.

+ ]]> +
+
+ + parameter + false + true + + Checks for the existence of at least one occurrence of the + specified request parameter on this request, even if the parameter + value is a zero-length string.

+ ]]> +
+
+ + property + false + true + + Checks for the existence of a non-null property value, returned + by a property getter method on the JSP bean (in any scope) that is + specified by the name attribute. Property references + can be simple, nested, and/or indexed.

+ ]]> +
+
+ + role + false + true + + Checks whether the currently authenticated user (if any) has been + associated with the specified security role.

+ ]]> +
+
+ + scope + false + true + + The bean scope within which to search for the bean named by the + name property, or "any scope" if not specified.

+ ]]> +
+
+ + user + false + true + + Checks whether the currently authenticated user principal has the + specified name.

+ ]]> +
+
+
+ + present + org.apache.struts.taglib.logic.PresentTag + JSP + + + Generate the nested body content of this tag if the specified + value is present in this request. +

+ +

Depending on which attribute is specified, this tag checks the + current request, and evaluates the nested body content of this tag + only if the specified value is present. Only one + of the attributes may be used in one occurrence of this tag, unless + you use the property attribute, in which case the + name attribute is also required.

+ ]]> +
+ + cookie + false + true + + Checks for the existence of a cookie with the specified name.

+ ]]> +
+
+ + header + false + true + + Checks for the existence of an HTTP header with the specified + name. The name match is performed in a case insensitive manner.

+ ]]> +
+
+ + name + false + true + + Checks for the existence of a JSP bean, in any scope, with the + specified name. If property is also specified, checks + for a non-null property value for the specified property.

+ ]]> +
+
+ + parameter + false + true + + Checks for the existence of at least one occurrence of the + specified request parameter on this request, even if the parameter + value is a zero-length string.

+ ]]> +
+
+ + property + false + true + + Checks for the existence of a non-null property value, returned + by a property getter method on the JSP bean (in any scope) that is + specified by the name attribute. Property references + can be simple, nested, and/or indexed.

+ ]]> +
+
+ + role + false + true + + Checks whether the currently authenticated user (if any) has been + associated with any of the specified security roles. Use a comma-delimited + list to check for multiple roles. Example: + <logic:present role="role1,role2,role3"> + code..... + </logic:present>

+ ]]> +
+
+ + scope + false + true + + The bean scope within which to search for the bean named by the + name property, or "any scope" if not specified.

+ ]]> +
+
+ + user + false + true + + Checks whether the currently authenticated user principal has the + specified name.

+ ]]> +
+
+
+ + redirect + org.apache.struts.taglib.logic.RedirectTag + + Render an HTTP Redirect

+ + +

Performs an HttpServletResponse.sendRedirect() + call to the hyperlink specified by the attributes to this + tag. URL rewriting will be applied automatically, to + maintain session state in the absence of cookies.

+ +

The base URL for this redirect is calculated based on + which of the following attributes you specify (you must + specify exactly one of them):

+
    +
  • forward - Use the value of this attribute as the + name of a global ActionForward to be looked + up, and use the module-relative or context-relative + URI found there.
  • +
  • href - Use the value of this attribute unchanged. +
  • +
  • page - Use the value of this attribute as an + module-relative URI, and generate a server-relative + URI by including the context path.
  • +
+ +

Normally, the redirect you specify with one of the + attributes described in the previous paragraph will be left + unchanged (other than URL rewriting if necessary). However, + there are two ways you can append one or more dynamically + defined query parameters to the hyperlink -- specify a single + parameter with the paramId attribute (and its + associated attributes to select the value), or specify the + name (and optional property) + attributes to select a java.util.Map bean that + contains one or more parameter ids and corresponding values. +

+ +

To specify a single parameter, use the paramId + attribute to define the name of the request parameter to be + submitted. To specify the corresponding value, use one of the + following approaches:

+
    +
  • Specify only the paramName attribute + - The named JSP bean (optionally scoped by the value of the + paramScope attribute) must identify a value + that can be converted to a String.
  • +
  • Specify both the paramName and + paramProperty attributes - The specified + property getter method will be called on the JSP bean + identified by the paramName (and optional + paramScope) attributes, in order to select + a value that can be converted to a String.
  • +
+ +

If you prefer to specify a java.util.Map that + contains all of the request parameters to be added to the + hyperlink, use one of the following techniques:

+
    +
  • Specify only the name attribute - + The named JSP bean (optionally scoped by the value of + the scope attribute) must identify a + java.util.Map containing the parameters.
  • +
  • Specify both name and + property attributes - The specified + property getter method will be called on the bean + identified by the name (and optional + scope) attributes, in order to return the + java.util.Map containing the parameters.
  • +
+ +

As the Map is processed, the keys are assumed + to be the names of query parameters to be appended to the + hyperlink. The value associated with each key must be either + a String or a String array representing the parameter value(s). + If a String array is specified, more than one value for the + same query parameter name will be created.

+ ]]> +
+ + action + false + true + + Logical name of a global Action that + contains the actual content-relative URI of the destination + of this transfer. This hyperlink may be dynamically + modified by the inclusion of query parameters, as described + in the tag description. You must specify + exactly one of the action attribute, the + forward attribute, the + href attribute, + or the page attribute.

+ ]]> +
+
+ + anchor + false + true + + Optional anchor tag ("#xxx") to be added to the generated + hyperlink. Specify this value without any + "#" character.

+ ]]> +
+
+ + forward + false + true + + Logical name of a global ActionForward that + contains the actual content-relative URI of the destination + of this redirect. This URI may be dynamically + modified by the inclusion of query parameters, as described + in the tag description. You must specify + exactly one of the forward attribute, the + href attribute, the linkName + attribute, or the page attribute.

+ ]]> +
+
+ + href + false + true + + The URL to which this redirect will transfer control. + This URL may be dynamically modified + by the inclusion of query parameters, as described in the + tag description. You must specify + exactly one of the forward attribute, the + href attribute, the linkName + attribute, or the page attribute.

+ ]]> +
+
+ + name + false + true + + The name of a JSP bean that contains a Map + representing the query parameters (if property + is not specified), or a JSP bean whose property getter is + called to return a Map (if property + is specified).

+ ]]> +
+
+ + page + false + true + + The context-relative path (beginning with a "/" + character) to which this hyperlink will transfer control + if activated. This hyperlink may be dynamically modified + by the inclusion of query parameters, as described in the + tag description. You must specify exactly + one of the forward attribute, the + href attribute, the linkName + attribute, or the page attribute.

+ ]]> +
+
+ + paramId + false + true + + The name of the request parameter that will be dynamically + added to the generated hyperlink. The corresponding value is + defined by the paramName and (optional) + paramProperty attributes, optionally scoped by + the paramScope attribute

+ ]]> +
+
+ + paramName + false + true + + The name of a JSP bean that is a String containing the + value for the request parameter named by paramId + (if paramProperty is not specified), or a JSP + bean whose property getter is called to return a String + (if paramProperty is specified). The JSP bean + is constrained to the bean scope specified by the + paramScope property, if it is specified.

+ ]]> +
+
+ + paramProperty + false + true + + The name of a property of the bean specified by the + paramName attribute, whose return value must + be a String containing the value of the request parameter + (named by the paramId attribute) that will be + dynamically added to this hyperlink.

+ ]]> +
+
+ + paramScope + false + true + + The scope within which to search for the bean specified + by the paramName attribute. If not specified, + all scopes are searched.

+ ]]> +
+
+ + property + false + true + + The name of a property of the bean specified by the + name attribute, whose return value must be + a java.util.Map containing the query parameters + to be added to the hyperlink. You must + specify the name attribute if you specify + this attribute.

+ ]]> +
+
+ + scope + false + true + + The scope within which to search for the bean specified + by the name attribute. If not specified, all + scopes are searched.

+ ]]> +
+
+ + transaction + false + true + boolean + + Set to true if you want the current + transaction control token included in the generated + URL for this redirect.

+ ]]> +
+
+ + useLocalEncoding + false + true + boolean + + If set to true, LocalCharacterEncoding will be + used, that is, the characterEncoding set to the HttpServletResponse, + as prefered character encoding rather than UTF-8, when + URLEncoding is done on parameters of the URL.

+ ]]> +
+
+
+
+ + + diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..c938b16 --- /dev/null +++ b/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,55 @@ + + + + + + + + WAYF + Shibboleth WAYF Service + edu.internet2.middleware.shibboleth.wayf.WayfService + + WAYFConfigFileLocation + $DS_HOME$/conf/wayfconfig.xml + + + WAYFLogConfig + $DS_HOME$/conf/logging.xml + + + WAYFLogConfigPollFrequency + 300000 + + + + + + + WAYF + /WAYF + + + + WAYF + *.wayf + + + + WAYF + /DS + + + + WAYF + *.ds + + + + css + text/css + + diff --git a/src/main/webapp/images/incommon.gif b/src/main/webapp/images/incommon.gif new file mode 100644 index 0000000..01949cf Binary files /dev/null and b/src/main/webapp/images/incommon.gif differ diff --git a/src/main/webapp/images/internet2.gif b/src/main/webapp/images/internet2.gif new file mode 100644 index 0000000..74ecbcb Binary files /dev/null and b/src/main/webapp/images/internet2.gif differ diff --git a/src/main/webapp/images/logo.jpg b/src/main/webapp/images/logo.jpg new file mode 100644 index 0000000..c021e7f Binary files /dev/null and b/src/main/webapp/images/logo.jpg differ diff --git a/src/main/webapp/index.htm b/src/main/webapp/index.htm new file mode 100644 index 0000000..8825d6d --- /dev/null +++ b/src/main/webapp/index.htm @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/webapp/wayf.css b/src/main/webapp/wayf.css new file mode 100644 index 0000000..4056aa3 --- /dev/null +++ b/src/main/webapp/wayf.css @@ -0,0 +1,104 @@ +body { + background-color: #CCCCCC; + text-align: center; + color: #000000; + text-align: left; +} + +p { + font-size: 90%; +} + +li { + font-size: 100%; + list-style-type: none; +} + +h1 { + font-size: 135%; + font-weight: bold; + color: #FFFFFF; +} + +h2 { + font-size: 100%; + font-weight: bold; +} + +h3 { + font-size: 100%; + font-weight: normal; +} + +span.option { + font-size: 100%; + font-weight: bold; +} + +.error { + font-size: 100%; + color: #990000; +} + +.head { + max-width: 600px; + border-left-width: 2px; + border-right-width: 2px; + border-top-width: 2px; + border-bottom-width: 2px; + border-color: #000000; + border-style: solid; + background-color: #6688aa; + margin-top: 1em; + margin-bottom: 0; + margin-left: 1em; + margin-right: 1em; + padding-left: .75em; + padding-right: .75em; + padding-top: .5em; + padding-bottom: .5em; +} + +.selector { + max-width: 600px; + border-left-width: 2px; + border-right-width: 2px; + border-top-width: 0; + border-bottom-width: 0; + border-color: #000000; + border-style: solid; + background-color: #FFFFFF; + margin-top: 0; + margin-bottom: 0; + margin-left: 1em; + margin-right: 1em; + padding: .75em; +} + +.footer { + max-width: 600px; + border-left-width: 2px; + border-right-width: 2px; + border-top-width: 2px; + border-bottom-width: 2px; + border-color: #000000; + border-style: solid; + background-color: #FFFFFF; + margin-top: 0; + margin-bottom: 1em; + margin-left: 1em; + margin-right: 1em; + padding-left: .75em; + padding-right: .75em; + padding-top: .5em; + padding-bottom: .5em; +} + +span.warning { + font-size: 80%; +} + +.logo { + text-align: center; + margin-top: 1.5em; +} diff --git a/src/main/webapp/wayf.jsp b/src/main/webapp/wayf.jsp new file mode 100644 index 0000000..74ba11d --- /dev/null +++ b/src/main/webapp/wayf.jsp @@ -0,0 +1,547 @@ + + +<%@ page contentType="text/html;charset=UTF-8" %> + + +<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %> +<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %> + +<%request.setCharacterEncoding("UTF-8");%> +<%response.setCharacterEncoding("UTF-8");%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Identity Provider Selection + + + +
+

+ +Select an identity provider + +

+
+ +
+

+ + + +The Service you are trying to reach requires that you +authenticate with your home institution, please select it from the +list below. + +

+ + +

+ +Recently used institutions: + +

+ + + + + + + +

+ + + + + + + ?entityID=<%= java.net.URLEncoder.encode(ei.toString(), "utf-8") %>&return=<%= java.net.URLEncoder.encode(re.toString(), "utf-8") %>&returnIDxParam=<%= java.net.URLEncoder.encode( returnIDParam.toString(), "utf-8" ) %>&cache=perm&action=selection&origin="> + + + + + + + + ?target=<%= java.net.URLEncoder.encode(targ.toString(),"utf-8") %>&shire=<%= java.net.URLEncoder.encode(shire.toString(),"utf-8") %>&providerId=<%= java.net.URLEncoder.encode(pid.toString(),"utf-8") %>&time=&cache=perm&action=selection&origin="> + + + +

+
+ + + + + + + +
+
+ + " /> + " /> + " /> + + " /> + + + + " /> + " /> + " /> + + +
+
+ +
+ +
+ +

+ +Choose from a list: + +

+ + + + +
"> +
+ + " /> + " /> + " /> + + " /> + + + + " /> + " /> + " /> + + + + + +
+
+
+
+ + + + + + + + +
"> +
+ + " /> + " /> + " /> + + " /> + + + + " /> + " /> + " /> + + + + + + + +
Federation Institution
+ + + +
+

+ + +

+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/wayferror.jsp b/src/main/webapp/wayferror.jsp new file mode 100644 index 0000000..a0cb29d --- /dev/null +++ b/src/main/webapp/wayferror.jsp @@ -0,0 +1,38 @@ + + + <%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %> + <%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %> + + + + + + + + Access System Failure + + + +
+Logo +

Inter-institutional Access System Failure

+
+ +

The inter-institutional access system experienced a technical failure.

+ +

Please email administrator's name and include the following error message:

+ + +

WAYF failure at ()

+ +

+
+ +

The DiscoveryService should not be called directly

+
+ + + + \ No newline at end of file -- cgit v1.1