公司动态
当前位置:首页 > 公司动态 > 学术交流 > 使用JSF框架完成基础OA项目

        如今,市面上的框架已经非常多而且十分成熟了,我们可以在众多框架中选择一种来开发web应用。JavaSeverFaces(JSF)是一种基于组件的框架。通过使用JSF框架组件,我们可以在超越原始HTML的更高级别思考用户界面,也能够重用自己的应用程序组件并使用第三方组件集。

        JSF包含三个部分:(1).一套预置的UI(用户界面)组件。(2)。一个事件驱动的编程模型。(3)。一个组建模型,他支持第三方开发商提供额外的组件。

有一些JSF组件很简单,例如输入字段和按钮。而另一些则相当复杂,例如数据表和树。

JSF包含了所有用于事件处理和组织组件的代码。应用程序编程人员完全可以忽略这些细节,而将精力投入在应用程序的逻辑上。

与大多数WEB框架不同的是JSF是一种可通过多个方法来实现的标准框架。这让用户可以选择自己心仪的供应商,而不是被某一个供应商牢牢牵制。

       1.设计思路

       按照市面上已有的大部分OA项目的设计思路,首先数据库设计中,就人员来说需要三个表来管理员工信息。在设计数据库时,设置一张主表用于存放员工大部分数据,另外两张变用于存放员工等级与员工所属部门。对用户的密码进行MD5加密。

连接数据库我们使用JDBC对数据进行连接,并且将一些基础方法封装在JDBC中。

项目的主要功能在于超级管理员对员工身份的查询、对员工信息的修改、增加新员工与将离职员工的信息进行删除操作。

       2.实现过程以及难点

       在最初接触JSF框架时,仍旧有些不习惯XHTML网页。Xhtml可以理解为html+xml,就是用xml的语法来规范hyml。使用JSF框架时网页要使用标准标签来实现各种传值功能与显示功能。

        XHTML与html最主要的不同:

     (1)XHTML元素必须被正确的嵌套。

在html中,<b><i>This is bold and italic</b></i>,这样写是可以被读出来的,但是在xhtml中必须规范书写格式元素必须被正确嵌套<b><i>This is bold and italic</i></b>。

     (2)XHTML元素必须被正确的关闭。

       <p>this is the test 这样写是错误的。

       <p>this is the test</p>必须被正确关闭

     (3)标签名必须使用小写字母。

       <BODY><P>this is the test</P></BODY>这样写是错误的。

       <body><p>this is the test</p></body>必须使用小写字母

     (4)XHTML文档必须拥有根元素。

  所有的元素必须被嵌套在<html></html>中,子元素必须被嵌套在父元素中

  JSF框架使用一个BEAN来托管。托管的BEAN是一个纯JAVA类,它包含一组属性和一组getter、setter方法。托管的BEAN可以执行以下常见功能:验证组件的数据、处组件的触发事件、执行处理以确定应用程序必须导航的下一页、可作为jsf框架的模型。通过bean既可以调用自己定义的方法来对页面中的数据进行处理与对下一个页面进行导航与控制,也可以自定义方法对数据进行处理与导航。

        JSF框架是一个拥有众多组件的框架,因此在网页中除通用标签,要尽量使用框架的标签。例如在jsp网页中,我们锁使用的下拉菜单模式为:

       <select name="#{user.dept_id}">

       <option value="2">2</option>

       <option value="2">3</option>

       </select>

       在使用JSF框架的情况下我们要修改写法:

       <h:selectOneMenu value="#{user.role_id}" required="true" label="Text 3">

       <f:selectItem itemLabel="经理" itemValue="2" />

       <f:selectItem itemLabel="员工" itemValue="3" />

       </h:selectOneMenu>

        使用这种方法我们可以直接使用userbean中的方法来显示自己所需的数据。

        在JSP页面中,我们在页面传值给后台是经常使用以下代码:

        <a href="DoUpdate?id=${r.id }">修改</a>

        但是在JSF框架下我们要使用新的写法传值:

        <h:commandLink id="delUser" value="删除"

         action="#{user.getDelAction(u.user_id)}">

        </h:commandLink>

         3.总结

         JSF框架是一个与众不同的框架,提供了一个定义良好的编程模型,由丰富的API和标签库组成,结合html标准标签,可以更方便的提供服务器端验证、数据转换、定义页面导航、提供可扩展性、提供国际化支持、可访问性等。借助这些功能和工具,我们可以更加轻松的创建服务器端的用户界面。

 

        参考文献:

        [1]JavaServer Faces核心编程(第三版)David Geary,Cay Horstmann著,王超译

        [2]w3school在线教程——Java教程

 

版权归威海众成信息科技股份有限公司所有,转载请注明出处。