采用groovy开发基于JBoss的JSF应用
开发环境
JBoss AS 4.2.3GA + JBossTools 2.1.2 + GroovyEclipsePlugin
1. 项目准备
1.1. 新建一个JSF项目
在Eclipse中选择“File-New->JSF Project”,在出现的窗口中输入:
Project Name:groovydemo
JSF Enviroment:JSF 1.2
Template:JSFBlankWithoutLibs
选择“Finish”结束创建JSF项目;
1.2. 修改web.xml
修改WEB-INF目录下的web.xml,增加如下内容:
<context-param>
<param-name>com.sun.faces.developmentMode</param-name>
<param-value>true</param-value>
</context-param>
<filter>
<filter-name>GroovyFilter</filter-name>
<filter-class>com.sun.faces.scripting.GroovySupportFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>GroovyFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>
2. JSF开发
2.1. 开发ManagedBean
在WEB-INF目录下创建groovy和groovy/demo目录,选择groovy/demo目录有键单击,在弹出的上下文菜单中选择“New->Other->Groovy->Groovy Class”,选择“Next”继续,在出现Groovy Class对话框中将Name设置为GroovyBean,选择“Finish”结束创建Groovy Class。为了方便演示这里只创建一个简单的Groovy类,代码如下:
/**
* @author jbossweek
*/
public class GroovyBean{
String message
def sayHello(){
return "hello";
}
}
2.2. 配置ManagedBean
打开WEB-INF/faces-config.xml文件,增加一个名为groovyBean的ManagedBean配置:
<managed-bean>
<managed-bean-name>groovyBean</managed-bean-name>
<managed-bean-class>demo.GroovyBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
2.3. 创建测试页面
在Eclipse中分别创建一个用于输入的input.jsp页面和用于输入侧output.jsp页面,其中,input.jsp代码如下:
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<html>
<head>
<title></title>
</head>
<body>
<f:view>
<h:form>
<h:inputText value="#{groovyBean.message}"/>
<h:commandButton action="#{groovyBean.sayHello}" value="Groovy Demo"/>
</h:form>
</f:view>
</body>
</html>
output.jsp代码如下:
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<html>
<head>
<title></title>
</head>
<body>
<f:view>
<h:outputLabel value="Hello ">
</h:outputLabel><h:outputText value="#{groovyBean.message}"/>
</f:view>
</body>
</html>
2.4. 设置页面导航
Faces-config.xml中的页面导航配置如下:
<navigation-rule>
<from-view-id>/input.jsp</from-view-id>
<navigation-case>
<from-outcome>hello</from-outcome>
<to-view-id>/output.jsp</to-view-id>
</navigation-case>
</navigation-rule>
3. 部署与测试
3.1. 部署groovy包
将groovy-all-1.5.7.jar拷贝到JBoss AS配置的lib目录下,例如:如果使用default配置,则拷贝到default/lib目录下
3.2. 运行JBoss AS
在Eclipse中,使用Server视图启动JBoss AS
3.3. 验证
打开浏览器输入http://localhost:8080/groovydemo/input.jsf,在出现的页面中输入jbossweek,点击“groovydemo”就会出现“hello jbossweek”的页面,OK!





