web.xml
and faces-config.xml
You can tweak the behaviour of BootsFaces by a couple of global parameters in the web.xml
.
By default, BootsFaces adds a viewport meta tag needed for a smooth experience on mobile devices:
<meta name="viewport" content="width=device-width, initial-scale=1">
However, if this setting stands in your way, you can deactivate it by setting the context parameter
BootsFaces_USE_VIEWPORT
to false.
This parameter must not contain EL expressions.
BootsFaces_THEME
selects the Bootstrap theme your application uses. Defaults to (guess what) "default". Legal values
are the name of the theme, "default" or "custom". This expression may contain EL expressions. It is evaluated
each time a page is rendered.
BootsFaces_USETHEME
should always be set to true
unless you use your own custom theme. This expression may contain EL expressions. It is evaluated
each time a page is rendered.
These parameters allow you to replace the built-in version of these libraries by your own libary. For instance, you might prefer to load it from a CDN (hence the name). Setting these parameters to true stops BootsFaces from adding them itself. You have to care about that yourself.
Note that setting net.bootsfaces.get_bootstrap_from_cdn
is not recommended because it
removes every CSS file dealing with Bootstrap - including the file bsf.css
that contains
the CSS styles some of the BootsFaces component need. Plus, the parameter does not stop BootsFaces from
loading the JavaScript code. In most cases, you are be better of setting the theme to "custom".
Setting the parameters to true
stops BootsFaces from adding the resources. These parameters
may contain EL expressions are are evaluated each time a page is rendered.
By default, BlockUI is not activated. You have to activate it by adding a context parameter to the
web.xml
. This parameter may contain EL expressions. It is evaluated once each time a JSF
page is rendered. This allows you to activate or deactivate it on a per-page basis.
By default, BootsFaces renders a label if your provide the label
attribute of an input
field. However, the label
is also used for error messages, so sometimes you need more flexibility.
You can deactivate rendering labels globally by setting net.bootsfaces.defaults.renderLabel
to false. This parameter may contain EL expression. It is evaluated once each time a page is rendered
(i.e. it is request scoped).
The BootsFaces tag decorator allows you to use a relaxed, HTML5-like coding style in your JSF pages.
This feature is described in detail here.
To activate the feature, you have to register the decorator in the web.xml
:
After registering the decorator, it is active by default. Sometimes that's not the desired behaviour, especially if you have a lot of legacy code that has been written without the decorator in mind.
In this case you can deactivate the decorator by default, and reactivate it on a per-page basis by adding the
attribute bootsFacesDecorator="true"
to an (almost) arbitrary JSF element:
This expression must not contain EL expressions.