JavaServer Faces (JSF) is a user interface framework or application programming interface (API) that eases the development of Java based Web applications. Using JSF reduces the size of the Web application, because you no longer need to include runtime binaries in your Web application. The application server supports JSF at a runtime level.
The Sun JSF Reference Implementation provides the foundation of the code that is used for JSF support in the application server. Some dependencies on Jakarta APIs have been removed, however, and replaced with solutions that are specific to the application server, because there is a possibility of unforeseen issues when you use open source APIs in the application server's runtime environment. For example, when you include open source APIs in the application server's runtime environment, these open source APIs are made available to all applications that are installed within the application server. Therefore, these APIs can cause versioning, support, and legal issues. The version of the JSF runtime environment that is provided by the application server resides in the location of the normal runtime library, and this version is available to all Web applications that leverage JSF APIs. The loading of the JSF servlet works as if the runtime environment was packaged with the Web application.
The classes that are related to the specification for JSF, named like javax.faces.*, and the IBM® modified version of the JSF Sun reference implementation are packaged in the application server runtime environment.
The JSF runtime for the application server does not support the use of a single class loader for the entire application. This support is also not available when the application contains multiple Web modules, and one of those modules is a JSF module. A single class loader for the entire application is not supported, because the FacesConfig initialization requires a single class loader for each JSF module to perform the initialization. Therefore, you must use multiple class loaders when the application contains multiple Web modules and at least one of those modules implements the JSF framework.
The FacesBeanUtils class provides static method replacements for methods that are used in the Jakarta Commons BeanUtils API. The FacesBeanUtils class has no life cycle.
FacesBeanUtils |
+ getProperty ( [in] bean : Object , [in] property : String ) : Object |
+ getPropertyType ( [in] bean : Object , [in] property : String ) : Class |
+ getSimpleProperty ( [in] bean : Object , [in] property : String , [in] value : Object ) |
+ getProperty ( [in] bean : Object , [in] property : String , [in] value : Object ) |
+ convertFromString ( [in] value : String , [in] valueClass : Class ) : Object |
+ convert ([in] targetType : Class , [in] bean : String ) : Object |