OSGi与JSF结合开发

开发 后端
本文介绍OSGi与JSF结合开发Java Web组件,以及介绍在OSGi与JSF结合的使用中的一些代码。

首先感谢罗明提供的无私帮助,很多天来一直没有将OSGi的JSF应用问题解决,这两天跟罗明在网上聊关于这方面的话题,给予了我不少的帮助,同时也使我的问题得到了解决。

 这些日子没有少在罗明的博客上晃悠,但总是让人感觉这个家伙总喜欢“高手过招,点到为止”,这样可能对于大多数对OSGi接触不多的人来说,可能还是有些抽象,为了方便大家学习和使用OSGi,我决定自己写一篇关于OSGi与JSF结合的例子,比较详细的介绍如何实现一个OSGi与JSF结合的例子。

在OSGi与JSF结合的使用中,由于需要改写一些由Equinox实现好的项目org.eclipse.equinox.jsp.jasper的一些源码,因此,操作起来似乎稍微要麻烦一些,Equinox上的项目基本上都是通过CVS来管理的,因此首先需要保证自己已经安装了CVS客户端,然后拉下代码,为下面的工作做好准备。

先就将OSGI与JSF的结合使用例表如下:
1. 建立plugin工程:osgi.jsf.finals
2. 编写页面

◆index.jsp

  1. <%@taglib uri="http://java.sun.com/jsf/core" prefix="f" %>    
  2. <%@taglib uri="http://java.sun.com/jsf/html" prefix="h" %>    
  3. <%@page contentType="text/html;charset=UTF-8"%>    
  4. <html>    
  5. <head>    
  6. <title>JSF Samples</title>    
  7. </head>    
  8. <body>    
  9.    <f:view>    
  10.        <h:form>    
  11.        <h:outputText style="color:red" value="#{user.errMsg}" />    
  12.            <h3>JSF Samples</h3>    
  13.            Nick Name: <h:inputText value="#{user.id}"/><p>    
  14.            <h:commandButton value="Submit" action="#{user.verify}"/>    
  15.        </h:form>    
  16.    </f:view>    
  17. </body>    
  18. </html>   

◆welcome.jsp

  1. <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>    
  2. <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>    
  3. <%@page contentType="text/html;charset=UTF-8"%>    
  4. <html>    
  5. <head>    
  6. <title>JSF Samples</title>    
  7. </head>    
  8. <body>    
  9.    <f:view>    
  10.        <h:outputText value="#{user.id}"/> Welcome!    
  11.        <h3>JavaServer Faces!</h3>    
  12.    </f:view>    
  13. </body>    
  14. </html>   

3. 实现相应类UserBean.java

  1. package org.danlley.jsf.beans;    
  2. public class UserBean {    
  3.     private String id;    
  4.    private String pwd;    
  5.     private String errMsg;    
  6.     public String getId() {    
  7.        return id;    
  8.    }    
  9.    public void setId(String id) {    
  10.        this.id = id;    
  11.    }    
  12.     public String getErrMsg() {    
  13.         return errMsg;    
  14.    }    
  15.    public void setErrMsg(String errMsg) {    
  16.        this.errMsg = errMsg;    
  17.   }    
  18.    public String getPwd() {    
  19.        return pwd;    
  20.   }    
  21.   public void setPwd(String pwd) {    
  22.        this.pwd = pwd;    
  23.    }    
  24.   public String verify() {    
  25.        if (id.equals("jsfUser")) {    
  26.            return "success";    
  27.        } else {    
  28.            setErrMsg("userID should be jsfUser");    
  29.           return "failed";    
  30.      }    
  31.     }      
  32.  

【编辑推荐】

  1. 使JSF支持带有HTMLMessage
  2. 利用JSF和Hibernate构建Web应用
  3. 比较JSF、Spring MVC、Stripes、Struts 2、Tapestry、Wicket
  4. JSF能否拯救WEB
  5. 各种JSF框架比较
责任编辑:佚名 来源: JavaEye
相关推荐

2009-06-22 16:19:40

Acegi安全系统JSF

2009-09-28 13:13:16

设置Spring DM

2009-06-01 10:28:03

SpringOSGi整合

2009-06-17 15:18:38

JSF与Spring

2009-06-29 13:22:19

JSF技术JSF组件

2009-06-24 16:30:21

JSF组件模型

2009-06-29 09:38:50

JSF标签JSF

2011-06-30 10:49:27

2011-06-30 10:36:22

JSF

2009-06-24 17:05:10

2009-03-03 10:06:00

IBMJavaOSGi

2009-09-28 13:32:39

OSGi入门

2009-12-21 13:34:41

OSGi

2009-10-09 13:42:56

Spring DataSpring DM

2011-07-08 15:20:30

seamjsf

2009-06-24 15:13:36

自定义JSF组件

2011-07-08 17:26:38

JSFStruts

2009-06-24 09:19:56

JSF标记JSTL标记

2009-06-24 15:44:59

JSF的加减法Seam

2009-03-02 09:15:13

OSGiJavaJ2EE
点赞
收藏

51CTO技术栈公众号