jsf+hibernate开发小项目杂谈(三)

三、页面跳转及bean的生命周期选择
    1. 页面跳转。页面跳转是jsf的一大特色,跳转前/后页面及事件操作都会在faces-config.xml进行配置。
    - 页面跳转xml配置(增删改查及重复操作)
    <navigation-rule>
        <from-view-id>/login.jsp</from-view-id>
        <navigation-case>
            <from-outcome>success</from-outcome>
            <to-view-id>/doubt/cust_list.jsp</to-view-id>
            <redirect></redirect>
        </navigation-case>
        <navigation-case>
            <from-action>failure</from-action>
            <to-view-id>/login.jsp</to-view-id>
        </navigation-case></navigation-rule>
    </navigation-rule>

    - 对页面跳转输出事件的封装[3]
    public class NavigationResults {
        /**
         * 对CRUD操作页面流转的封装
         */
        static final String QUERY = "query"; // 前往查询页面
        static final String ADD = "add"; // 前往新增页面
        static final String EDIT = "edit"; // 前往修改页面
        static final String SUCCESS = "success"; // 操作成功转向页面(一般去往列表显示页面)
        static final String FAILURE = "failure"; // 操作失败转向页面(一般回到原页面)
        static final String RETRY = "retry"; // 重试页面(即回到原页面)
    }

    使用范例
    public String loginAction() {
        // ...
    return NavigationResults.SUCCESS;
    }

    2. bean的生命周期选择与功能划分
    在纯jsp时代,javabean的生命周期有page, request, session和application种。在jsf的managed bean生命周期中去掉了page。想必大家对request/session/application
的差别比较了解,此处不再赘述。对于不同功能的bean,要选择应该恰当的scope。
   
    - 创建一个ApplicationBean。由于界面上要求提供下拉列表框,在该bean中保存这些输入选项。
    public class ApplicationBean {
        private static List cttpSelectItems; // 客户类型
       
        static {
            // 客户证件类型设置
            citpSelectItems = new ArrayList();
            citpSelectItems.add(new SelectItem("11", "居民身份证或临时身份证"));
            // ...
        }   
    }

    jsp页面中对输入选项的引用
    <h:selectOneMenu value="#{doubtCustBean.ctvc}">
        <f:selectItems value="#{appBean.ctvcSelectItems}" />
    </h:selectOneMenu>
   
    - 创建一个SessionBean。保存会话信息(比如客户登陆后的用户id等)
    ... 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值