NetBeans中JSF应用开发(2)

目标:在JSF应用中使用管理Bean
在上一节中,我们使用 JSF 组件创建了一个简单的 web 应用。但是,我们的 Web 应用还不能做任何有意义的事情。为了丰富我们的 JSF 应用的功能,可以建立辅助 Bean Backing Bean )与 UI 组件的关联。辅助 Bean 又称为 JSF 管理 Bean ,是一个普通的 JavaBean 组件,但是他们的属性和方法可以供 JSF 组件访问。
在我们的例子中,我们将创建一个 UserBean 管理 Bean ,有两个属性 name birthday
1.       右键点击工程,选择 New ,然后选择 File/Folder 。在 Web 分类中,选择 JSF Managed Bean template ,然后点击 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 中添加唉下面的域声明
public class UserBean {
 
    String name;
    String birthday;
4.       然后为域生成 getter setter 方法。在文件的任何地方右键点击,然后选择 Refactor 中的 Encapsulate Fields 。选择对话框中的 Next ,然后在重构窗口中重构。 IDE 把域的访问控制修改成 private ,然后创建 getter setter 方法。
5.       greeting.jsp 中,作如下修改(粗体部分)。注意: UserBeans.java 中可以使用代码完成器。
    <f:view>
        <h:form>
            <p>Enter your name: <h:inputText value="#{UserBean.name}" /></p>
            <p>Enter your birthday: <h:inputText value="#{UserBean.birthday}" /></p>
            <h:commandButton value="Submit" action="submit" />
        </h:form>
    </f:view>
6.       success.jsp 中添加 JSF 标签库声明,可以从 greeting.jsp 中拷贝粘贴。
7.       通过点击控制窗口的 JSF Form 按钮并拖拽到原文件编辑器中的 h1 标记下面,为 success.jsp 添加一个空的 JSF 表单。
8.       修改 success.jsp 如下:
    <h1>Congratulations</h1>
    <f:view>
        <h:form>
            <p>You've successfully registered with jAstrologer.</p>
            <p>Your name is <h:outputText value="#{UserBean.name}" /></p>
            <p>Your birthday is <h:outputText value="#{UserBean.birthday}" /></p>
        </h:form>
    </f:view>
9.       右键点击工程,然后选择 Run Project 。当工程部署之后您会看到同样的欢迎界面。
输入值并点击 Submit success.jsp 会显示您输入的值,如下图所示:
关于辅助 Bean ,可以参考书上 198 页第 15 辅助 Bean
书:《 Java EE 5 实用教程》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值