NetBeans中JSF应用开发(2)

本文介绍如何在JSF应用中使用管理Bean来增强应用功能。通过创建UserBean管理Bean,实现用户输入姓名和生日的功能,并在提交后展示这些信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
目标:在JSF应用中使用管理Bean
在上一节中,我们使用JSF组件创建了一个简单的web应用。但是,我们的Web应用还不能做任何有意义的事情。为了丰富我们的JSF应用的功能,可以建立辅助BeanBacking Bean)与UI组件的关联。辅助Bean又称为JSF管理Bean,是一个普通的JavaBean组件,但是他们的属性和方法可以供JSF组件访问。
在我们的例子中,我们将创建一个UserBean管理Bean,有两个属性namebirthday
1.       右键点击工程,选择New,然后选择 File/Folder。在Web 分类中,选择JSF Managed Bean template,然后点击 Next
2.       bean命名为UserBean,放在astrologer.user中,其他的设置和默认值不用修改,然后点击FinishIDE会在源代码编辑区打开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.       然后为域生成gettersetter方法。在文件的任何地方右键点击,然后选择Refactor中的 Encapsulate Fields。选择对话框中的Next,然后在重构窗口中重构。IDE把域的访问控制修改成private,然后创建gettersetter方法。
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。当工程部署之后您会看到同样的欢迎界面。
输入值并点击Submitsuccess.jsp会显示您输入的值,如下图所示:
关于辅助Bean,可以参考书上198页第15辅助Bean
书:《Java EE 5实用教程》
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值