您的位置:首页 > 编程语言 > Java开发

NetBeans中JSF应用开发(2)

2007-06-29 09:17 274 查看
目标:在JSF应用中使用管理Bean
在上一节中,我们使用JSF组件创建了一个简单的web应用。但是,我们的Web应用还不能做任何有意义的事情。为了丰富我们的JSF应用的功能,可以建立辅助Bean(BackingBean)与UI组件的关联。辅助Bean又称为JSF管理Bean,是一个普通的JavaBean组件,但是他们的属性和方法可以供JSF组件访问。
在我们的例子中,我们将创建一个UserBean管理Bean,有两个属性name和birthday。
1.右键点击工程,选择New,然后选择File/Folder。在Web分类中,选择JSFManagedBeantemplate,然后点击Next。
2.把bean命名为UserBean,放在astrologer.user中,其他的设置和默认值不用修改,然后点击Finish。IDE会在源代码编辑区打开UserBean.java,并在faces-config.xml中添加下面的bean声明:
<managed-bean>

<managed-bean-name>UserBean</managed-bean-name>

<managed-bean-class>astrologer.user.UserBean</managed-bean-class>

<managed-bean-scope>request</managed-bean-scope>

</managed-bean>

3.在UserBean.java中添加唉下面的域声明
publicclassUserBean{


Stringname;

Stringbirthday;

4.然后为域生成getter和setter方法。在文件的任何地方右键点击,然后选择Refactor中的EncapsulateFields。选择对话框中的Next,然后在重构窗口中重构。IDE把域的访问控制修改成private,然后创建getter和setter方法。
5.在greeting.jsp中,作如下修改(粗体部分)。注意:UserBeans.java中可以使用代码完成器。
<f:view>

<h:form>

<p>Enteryourname:<h:inputTextvalue="#{UserBean.name}"/></p>

<p>Enteryourbirthday:<h:inputTextvalue="#{UserBean.birthday}"/></p>

<h:commandButtonvalue="Submit"action="submit"/>

</h:form>

</f:view>

6.在success.jsp中添加JSF标签库声明,可以从greeting.jsp中拷贝粘贴。
7.通过点击控制窗口的JSFForm按钮并拖拽到原文件编辑器中的h1标记下面,为success.jsp添加一个空的JSF表单。
8.修改success.jsp如下:
<h1>Congratulations</h1>

<f:view>

<h:form>

<p>You'vesuccessfullyregisteredwithjAstrologer.</p>

<p>Yournameis<h:outputTextvalue="#{UserBean.name}"/></p>

<p>Yourbirthdayis<h:outputTextvalue="#{UserBean.birthday}"/></p>

</h:form>

</f:view>

9.右键点击工程,然后选择RunProject。当工程部署之后您会看到同样的欢迎界面。


输入值并点击Submit,success.jsp会显示您输入的值,如下图所示:



关于辅助Bean,可以参考书上198页第15章辅助Bean
书:《JavaEE5实用教程》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: