Work hard

[原创]使用Groovy编写Struts2的action

上一篇 / 下一篇  2008-05-11 23:56:46 / 个人分类:Web Framework

查看( 7 ) / 评论( 0 )
海岸线网络聚合/o ^,u4Pr&wo9U

采用groovy编写action,可以无需重新部署程序,方便于调试,节省开发进度。而且,groovy作为Java VM的脚本语言可以与Java程序无缝地整合。 海岸线网络聚合!B"rgSo:^S
首先,下载struts2groovy插件:http://cwiki.apache.org/S2PLUGINS/groovy-plugin.html 海岸线网络聚合D b#Y lO
将其拷入web工程的lib文件夹下,除此以外还需groovyjar包以及相关的包。主要是groovy, asm antlr 包。下图显示工程所有的jar
9nCl6i!bI2u z0海岸线网络聚合:]KZ1jW

海岸线网络聚合+g?5N'}U5]gf

第二,采用groovy编写actionLoginAction.groovy 海岸线网络聚合+fq6JL2iM&u$A(C
package com.hopeteam.struts.action;
O2bOy8i7A f*H.NP&\0public class LoginAction {
b8^d2Xw0~8[mZ;b0       def username; 海岸线网络聚合 T;r?dN0Gi`
       def password; 海岸线网络聚合&z:L+sp~#h%?'fx:u
       public String getUsername() { 海岸线网络聚合O*L;KE)VF
              return username;
-Lxe9ZIiWTQ0       } 海岸线网络聚合O+ej W3ygr2iMw-k
       public void setUsername(String username) {
Xk-Yo0w1^*@6R0              this.username = username;
|z'oy$w [Q.y0       } 海岸线网络聚合9V6@'?v7R [X
       public String getPassword() { 海岸线网络聚合 i"|5G&i9{"w
              return password;
F TP7u6x~ q)J+x-a0       } 海岸线网络聚合VbQ4B]&Z
       public void setPassword(String password) { 海岸线网络聚合 D+q9p*F7_q@
              this.password = password;
QfoQ7O n0       }
fT0A6N'X&R)i4O0       public String execute() throws Exception
Y BW1D I.hG0       {
d(Q%x7Q:`/S*_f0              if(getUsername().equals("fengzhizi")
7km1e$N[I j0u0                            && getPassword().equals("123456")) 海岸线网络聚合8T+] Z-xssW_
                            { 海岸线网络聚合 [;H]i2q4_
                     return "success"; 海岸线网络聚合w1id^2yi5y
                            } 海岸线网络聚合:q m V1W ^
              else 海岸线网络聚合NL L"vNs'Ai6\ c
              {
^!vL$J'X2@_-a:f0                     return "error";
W0Ek+qs.E0              } 海岸线网络聚合 YJRRiO+R@)YA
       } 海岸线网络聚合f+S3\iu@ s B
}
c0y _Ld0编写完毕,需要在struts.xml中配置该action。在配制该action之前,需要在struts.xml将框架常量设置为groovyObjectFactory
W U,b'POzT$h0<constant name="struts.objectFactory" value="groovyObjectFactory" />
Ptk [O8E ]*R0action的配置同样需要修改: 海岸线网络聚合 taw{/h`c[F-M0~
       <action name="Login" 海岸线网络聚合F*f L4c(MO1]C;Q}G
           class="com.hopeteam.struts.action.LoginAction.groovy">
7a&w*l:H$|7\u1g0           <result name="error">/error.jsp</result>
9J2Do)L ?EH0           <result name="success">/welcome.jsp</result> 海岸线网络聚合&\iF?wL$t
    </action> 海岸线网络聚合6U`I8^\$wG+h]

a'd T@S"v.~q0第三,配置完毕后将LoginAction.groovy放入Tomcat 5.5\webapps\Struts2Groovy\WEB-INF\classes\com\hopeteam\struts\action
8d7G/M QD/b_0编写welcome.jsp: 海岸线网络聚合U1hJ+GN*?GeW%_$]N
<%@ page language="java" contentType="text/html; charset=GBK"%>
H^F!t9F)H_|0<%@ taglib prefix="s" uri="/struts-tags" %>
+rp |0y$EC5D_/T0<html> 海岸线网络聚合&C!I#y0S8y}uA
    <head> 海岸线网络聚合'S0Si `PV-? ^
       <title>success</title>
#tWP n2x#s;i0       <meta. http-equiv="Content-Type" content="text/html; charset=GBK"> 海岸线网络聚合 Cj0`aC.P)H
    </head> 海岸线网络聚合bc cI*d(eu"W
    <body> 海岸线网络聚合W#WE[1[Dp-G&d
        用户:<s:property value="username" />登陆</br>
#^;|5xqy[(\0        groovy编写struts2的action测试成功
)xv,r1aL%J0    </body>
6G|F3oE;OB0</html>
7Y d7C r6r g5}A8X0最后,我们看一下运行结果。
S~6^? ~k Y)\5Z0海岸线网络聚合dJ2I"S"?


相关阅读:

TAG: groovy action Groovy

我来说两句

(可选)

日历

« 2008-11-21  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

数据统计

  • 访问量: 931
  • 日志数: 23
  • 建立时间: 2007-05-21
  • 更新时间: 2008-05-18

RSS订阅

Open Toolbar