Test分解

                  前段时间做了一个jsf+spring+hibernate的test,只做了查询部分,今天把增删改查一并做完,我们来分解一下这个test。
                 从三个方面来分解这个test:前台页面层(*.jsp页面),中间依赖注入spring层(*.xml配置文件),后台数据和业务层(*.java源文件)。
前台页面层(*.jsp页面):
在前台我们总共设计了7个页面,分别是:index.jsp,login.jsp,welcome.jsp,showpass.jsp,save.jsp,editok.jsp,deleteok.jsp,这7个页面的作用分别是:index.jsp,一般jsf的web程序都有,主要只是用于跳转到主页,在这个页面中我们一般只有如下一行代码“<jsp:forward page="/pages/login.jsf" />”,通过这个代码我们跳转到我们的首页,一般这个页面是自动生成,生成以后会有一个一起同时生成的注释,它的注释是这么写的“Redirect default requests to a JSF welcome page. All JSF requests must go through the Faces Servlet, which is mapped to /faces/* by default.”;login.jsp,一般是登陆页面,用于处理登陆事件,在这里我把所有的业务逻辑的处理都放在了这个页面里面;welcome.jsp,显示登陆成功信息的页面;showpass.jsp,根据login.jsp页面里面输入的name,显示相对应的pass,其实就是完成一个查询功能;save.jsp,进行保存操作成功后,返回的页面;editok.jsp,进行编辑操作成功后,返回的页面;deleteok.jsp,进行删除成功后,返回的页面。
               页面前台就只是设计给用户展示的页面,里面可以存放各种各样的展示控件,由于jsf的特性所以在页面部分我们最重要的是处理好页面控件和后台java类的属性,方法的绑定。在这个test中,我主要使用了三种绑定。一般遇到的情况就是这三种。
               第一种是text控件和后台java的属性的关联(input属性,一般属性),这样做的主要目的是,通过input属性的绑定取得页面的用户输入的值以便做为后台java类操作的参数,和存入数据库的记录,和一般属性的关联是为了能取得这个值,作为显示操作,例如:
<h:inputText value="#{login.pass}" binding="#{login.inputPass}"/>,前面就是只是和一般属性关联并取值,后面就是和input属性的绑定传参数。
              第二种是button和后台java类的方法的绑定,这样做的目的是不同的button调用后台的不同的方法,并且跳转到不同的页面,例如:
<h:commandLink action="#{login.save}"  style="text-decoration: none">
  <h:commandButton value="save"/>
  <f:param id="saveok" name="saveok" value="true"/>
 </h:commandLink>
action就是调用后台方法,f:param id就是关联后台java的返回值的id,这个值同时和face-config.xml里面的标签相对应,来确定跳转页面。
             第三种是控件和常量的绑定,一般也是常量属性,通常情况下把经常使用的常量和他的赋值放在一个application.properties的文件里面

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值