stwissel
stwissel

Reputation: 20374

Update faces-config.xml in memory at runtime

When a JSF/XPages application starts it reads the faces-config.xml for managed beans, validators etc. Can I manipulate the loaded configuration at runtime? e.g. dynamically add a validator to ensure my custom code will run.

I'm not trying to change the xml file at runtime, but the memory representation after it gets loaded.

XPages uses a JSF 1.x runtime,so JSF 2.0 constructs might not work

Upvotes: 0

Views: 737

Answers (1)

BalusC
BalusC

Reputation: 1108547

Yes, you can add a lot of JSF artifacts which are normally configured in faces-config.xml by among others the Application class as well.

Application application = FacesContext.getCurrentInstance().getApplication();
application.addValidator("fooValidator", "com.example.FooValidator");
// ...

You could do the job in an eagerly initialized application scoped managed bean.

@ManagedBean(eager=true)
@ApplicationScoped
public class Config {

    @PostConstruct
    public void init() {
        // ...
    }

}

Upvotes: 2

Related Questions