Ajax
Ajax特性很简单,修改一下xhtml文件的commandButton代码如下:
<h:commandButton id="clickButton" value="Click Me!" actionListener="#{inputBean.print}">
<f:ajax execute="in" render="out" />
</h:commandbutton>
通过Ajax发送给Server的数据包含在id为"in"的inputText tag中,这里用execute标志要发送"in"的数据。render表示Ajax调用成功后,要重新渲染id为out的outputText tag。
国际化
我希望显示的信息能够支持两种语言:中文和英文。现在在src/main/java/com/freebird目录下添加language目录,然后添加两个文件messages_en.properties和messages_zh_CN.properties.然后在faces-config.xml文件中配置如下信息:
<application>
<locale-config>
<default-locale>zh_CN</default-locale>
</locale-config>
<resource-bundle>
<base-name>com.freebird.language.messages</base-name>
<var>msg</var>
</resource-bundle>
</application>
为了将properties文件打包到jar包的classes目录下,需要修改pom.xml文件,添加build如下:
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include> **/*.properties</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include> **/*.xml</include>
<include> **/*.xhtml</include>
</includes>
</resource>
</resources>
</build>
好了现在修改一下xhtml文件的commandButton的value属性如下:
<h:commandButton id="clickButton" value="#{msg.buttonTitle}" actionListener="#{inputBean.print}">
<f:ajax execute="in" render="out" />
</h:commandButton>
JSF runtime会根据faces-config.xml文件中的配置查找classes/com/freebird/language目录下的messages_en或者messages_zh_CN文件,具体使用哪一个取决于使用jsfex的web应用程序的Local设置。如何在Web应用程序中实现国际化,修改Local请参考下面的文章:http://www.mkyong.com/jsf2/jsf-2-internationalization-example/
先在messages_en.properties文件中添加一行:
buttonTitle=Click Me!
然后应该在message_zh_CN.properties文件中添加相应的中文信息.注意,由于需要转码,不能直接写入中文,而是可以在临时文件中写入中文,然后通过一个工具转换。比如通常我会在messages_zh_CN文件中写入:buttonTitle=点击我.然后运行下面的命令:
native2ascii -encoding utf8 messages_zh_CN messages_zh_CN.properties
为了方便起见,我在register.sh脚本中添加对应的命令,文件内容如下:
cd src/main/java/com/freebird/language/
native2ascii -encoding utf8 messages_zh_CN messages_zh_CN.properties
cd -
mvn clean install
mvn install:install-file -Dfile=target/jsfex-1.0.jar -DgroupId=com.freebird -DartifactId=jsfex -Dversion=1.0 -Dpackaging=jar
好了,部署成功。
未完,待续。下一节,将尝试着自定义JSF标准验证错误的信息。
分享到:
相关推荐
2. **组件库**:JSF包含一组内置的UI组件,如按钮、文本框、表格等,同时支持自定义组件。书中可能会讲解如何使用这些组件以及如何创建自己的组件。 3. **数据绑定**:JSF通过数据绑定将组件与模型数据连接起来,...
"第八章:国际化与本地化"会讲解如何让应用支持多种语言,而"第九章:整合Ajax"会涉及异步更新页面的部分,包括使用JSF的Ajax库PrimeFaces或RichFaces。 "第十章:FacesContext与其他API"会深入到JSF的内部,介绍...
1. **JSF组件库**: JSF提供了一系列预定义的UI组件,如按钮、输入字段、表格等,开发者可以通过XML声明或Java代码在页面上添加这些组件。 2. **FacesConfig.xml配置**: 这是JSF应用程序的主要配置文件,用于定义...
3. **组件库增强**:JSF 2.0提供了更多预定义的UI组件,如数据表、图表等,并且支持自定义组件,极大地丰富了开发者构建用户界面的选择。 4. **依赖注入(Dependency Injection, DI)**:JSF 2.0集成了Java EE 6的...
JSF的核心组件库提供了一系列预定义的UI组件,如按钮、输入字段、表格等。这些组件可以方便地通过XML(Facelets)或JSP来声明和使用。此外,还有第三方库如PrimeFaces、RichFaces等,提供了更多丰富和功能强大的组件...
- 典型的组件库有Apache MyFaces和Mojarra,它们提供了丰富的预定义组件,同时支持自定义组件的开发。 3. **EL(Expression Language)** - EL是JSF中用于访问和操作后台数据的语言,它简洁且易于理解,可以用来...
8. **AJAX支持**:JSF 2.0及更高版本引入了 partial page rendering 和 AJAX 支持,允许部分更新页面,提高用户体验。了解PrimeFaces等第三方库如何增强JSF的AJAX功能。 9. **集成富客户端框架**:JSF可以与其他富...
JSF提供了一套丰富的组件库,如`h:`和`f:`命名空间中的标准组件,以及像PrimeFaces这样的第三方组件库,它们提供了更多的高级功能和美观的用户界面。例如,`h:inputText`用于创建文本输入字段,`h:commandButton`...
开发者还可以自定义组件,扩展其功能。 **4. 表达式语言(EL)** EL是一种轻量级的脚本语言,用于在JSF应用中访问和操作Java对象。它可以用来在JSF组件中绑定属性,如`value`、`action`等。 **5. JSF事件和监听器*...
开发者可以自定义组件,或者使用第三方库(如PrimeFaces或IceFaces)提供的丰富组件库。 2. **模型-视图-控制器架构** - **模型**:负责处理业务逻辑,与数据库或其他服务进行交互。 - **视图**:呈现用户界面,...
2. **UI Components** - JSF提供了一系列预定义的UI组件,如按钮、文本输入框、表格等,开发者可以通过这些组件快速构建用户界面。 3. **Managed Beans** - 这是JSF中的模型部分,它们是Java类,用于封装业务逻辑和...
2. **事件处理**:JSF支持事件驱动的编程模型,用户交互(如点击按钮)会触发相应的事件,这些事件可以被监听器方法处理。 3. **生命周期**:JSF有明确的请求处理生命周期,包括初始化、应用请求值、处理验证、更新...
开发者可以自定义组件或者使用第三方提供的组件库,如PrimeFaces和RichFaces。 2. **事件(Events)**:JSF支持事件处理,当用户与组件交互时,可以触发事件,然后通过监听器处理这些事件。 3. **模型(Model)**...
"chapter12"文件名暗示这可能是手册中关于某一特定主题的代码示例,例如,第12章可能涉及JSF组件库的使用、自定义组件、数据验证、或者是与Ajax集成等内容。在JSF中,章节12的代码实例可能会涵盖以下知识点: 1. **...
JSF允许开发者创建自定义组件以满足特定需求。通过扩展UIComponent类并实现必要的方法,你可以定义自己的组件行为和渲染方式。 ### 十、JSF与Spring集成 虽然JSF有自己的依赖注入机制,但也可以与Spring框架集成,...
学习资料部分则可能包含教程文档、示例代码、教程视频或者PDF手册,帮助初学者快速理解JSF的工作原理、组件使用、生命周期、EL表达式、自定义组件开发等方面的内容。通过这些资料,开发者可以系统地学习如何使用JSF...
尽管JSF 1.2本身并未内置完整的AJAX支持,但它提供了一种名为RichFaces或PrimeFaces的第三方扩展库,这些库通过扩展JSF组件和添加Ajax行为,实现了部分页面的异步更新,提高了用户体验。 ### 8. 国际化和本地化 ...
2. **JSF生命周期**:JSF框架通过一系列的处理阶段来处理用户的请求,包括恢复视图、应用请求值、处理验证、更新模型值、调用应用程序和呈现响应。理解每个阶段的功能对于调试和优化JSF应用至关重要。 3. **组件...
总结来说,JSF为Java Web开发提供了一个强大且灵活的框架,它的组件化、声明式编程方式和生命周期管理简化了开发流程。了解并熟练掌握JSF,对于提升Java Web开发效率具有重要意义。通过阅读提供的"JSF入门级教程.doc...
6. **JSF组件和事件处理**:深入讲解JSF的组件模型,包括自定义组件的创建,以及如何处理用户输入和触发的事件。 7. **错误和异常处理**:如何在JSF应用中优雅地处理错误和异常,提供良好的用户体验。 8. **MVC...