ActiveWeb provides a number of context parameters available in the views. Any of these parameters can be rendered on a page or used in conditional logic like any other parameters passed from a filter or a controller.

All these parameters are members of the object activeweb. For example, if you use a DebugTag to reflect the contents of this object:

<@debug print=activeweb/>

you will see the following output:

{environment=development, controller=/pages, restful=true, action=show}

ActiveWeb parameters

Currently these parameters are set on every view by the framework:

  • activeweb.environment
  • activeweb.controller
  • activeweb.action
  • activeweb.restful.

The ActiveWeb parameters are always present in a view.

The environment parameter

This a value of the environment variable environment. Normally, it has such values as development, test, staging, production.

Most of the time it is used to configure different database connection parameters for different execution environments. For more information, refer to AppConfig, Database Connection Management, Database Configuration.

The controller parameter

Full path of the controller:

controller path controller
/package1/books app.controllers.package1.BooksController
/people app.controllers.PeopleController

The action parameter

This is simply an action of the controller that is being executed according to the route. For more information, refer to Routing.

The restful parameter

It simply contains the boolean value that shows if this controller is Restful.

Usage

Generally you might use the environment parameter to expose a special feature in let's say development environment:

<#if activeweb.controller == "/pages">
    <#--display an important hidden feature-->
</#if>

Using other parameters might be considered a hack - you decide.

The context_path parameter

The context_path parameter defines the path to context for a web application. You can use it to dynamically define the root of the app for your web resources that is transparent to your environment. If you are deploying multiple pplication on your container, then each app will have a defined context. This parameter is to get a direct value passed into the app by the container. See more: HttpServletRequest.html#getContextPath().

Always use context_path as a base for your resources, such as below:

<script src="${context_path}/js/jquery-3.1.min.js" type="text/javascript"></script>.

The request_props parameter

This is an obscure parameter, which is a map. At the time of this writing, it holds a single value named url, which is a URL of a current request. for instance, if you are accessing a page on your app at http://localhost:8080/books, then that will be the value of this parameter.

In the future, more parameters describing various properties of a current request might be added here as well.

Session parameters

The session object is always available in views, just like it does in a standard Servlet applicaiton. Setting and reading the session from controllers and filters is described here: Session management.

On the views, you would simply use:

And the session parameter is: ${session.param1}. 

Request parameters

If your request has any parameters attached to it, they will be available on the view by accessing the request object. For example, if your URL looks like this:

http://mysite.com/controller1?name=John

Then you can access the name from a view directly:

Your name is: ${request.name}. 

How to comment

The comment section below is to discuss documentation on this page.

If you have an issue, or discover bug, please follow instructions on the Support page