若浮云,若秋水,渺渺兮,何所歸
BlogJava
首頁
新隨筆
聯系
聚合
管理
隨筆-4 評論-14 文章-0 trackbacks-0
EasyJWeb注解的使用——簡化Action層的開發
EasyJWeb中提供了一些注解,可以給開發帶來很多方便。這些注解包括有數據驗證用的@FormPO、@Validator等;IOC注入用的@Inject、@InjectDisable等;action配置用的@Action等。
今天我們來說說action配置時要用的注解@Action,使用這些注解可以大量減少配置文件的編寫。
首先,我們來看看不使用這些注解的時候是怎么做的,以一個hello world程序為例。
首先是action:
public
class
HelloAction
extends
AbstractCmdAction
{
private
IHelloService servie;
public
IHelloService setService(IHelloService service)
{
this
.service
=
service;
}
public
Page doHello(WebForm form, Module module)
{
System.out.println(service.sayHello());
return
null
;
}
}
service:
public
interface
IHelloService
{
String sayHello();
}
service實現:
public
class
HelloServiceImpl
implements
IHelloService
{
public
String sayHello()
{
return
"
hello
"
;
}
}
如果要使這個程序正常運行,我們還需要配置service和action,easyjweb中默認集成spring,service是在spring的配置文件中配置:
<
bean
id
="helloService"
class
="com.hello.service.impl.HelloServiceImpl"
>
</
bean
>
現在來配置action,在easyjweb的配置文件中這樣配置:
<
module
name
="hello"
path
="/hello"
form
=""
scope
="request"
action
="com.hello.mvc.HelloAction"
defaultPage
="list"
inject
="byType"
>
</
module
>
這里說說這個inject="byType",這樣配置之后在HelloAction中的屬性會自動根據類型來注入。inject還有byName等屬性,意思就是根據名字來注入。如果這里不加這個inject,那么配置文件就應該是這樣寫:
<
module
name
="hello"
path
="/hello"
form
=""
scope
="request"
action
="com.hello.mvc.HelloAction"
defaultPage
="list"
inject
="byType"
>
<
property
name
="service"
ref
="helloService"
/>
</
module
>
property的name屬性對應HelloAction中的service,名字要保持一致。ref對應上面在spring中配置的helloService的id。
到這里,這個程序就可以運行了。
一個簡單的hello程序就用了這么多配置文件,這讓人難以忍受。現在我們就來說說怎么使用EasyJWeb的注解來簡化配置。
我們修改一下HelloAction的代碼,給這個類加上一個@Action注解:
@Action(path
=
"
hello
"
)
public
class
HelloAction
extends
AbstractCmdAction
{
private
IHelloService servie;
public
IHelloService setService(IHelloService service)
{
this
.service
=
service;
}
public
Page doHello(WebForm form, Module module)
{
System.out.println(service.sayHello());
return
null
;
}
}
這樣一來,我們就不需要easyjweb中配置的module了,當使用hello.ejf訪問的時候框架會自動把請求交給HelloAction處理。
現在來簡單介紹一下@Action這個注解。
@Action的各個屬性說明如下:
name用來指Action的名稱,也是在容器中的Bean名稱,我們一般不使用這個屬性。
path用來指定模塊的path值,也即所映射的url,如果不設值該值將會按照缺省的方式處理。
alias用來指定這個模塊的path別名,也就是可以使用其它的一個或多個名稱來訪問這個模塊。
inject用來指定Action中所有業務組件注入方式,默認值為按類型注入。如果為byName則表示按名稱注入,auto表示自動按名稱或類別注入,none則表示不注入。
disInject用來標識不自動注入的屬性。
autoInject用來標識允許自動注入的屬性。
autoToken表示該模塊是否需要開取自動防重復提交功能;
validate表示該模塊是否開取自動驗證功能,默認情況不開啟自動驗證;
view表示該模板的視圖存放子目錄。
scope用來指定這個Action在容器中的創建方式及生命周期,默認值為request,表示每次請求創建一次該對象,若為session則表示個用戶會話創建一個對象,若為singleton表示整個容器中只創建一次該實例。
messageResource表示多國語言屬性文件的存放子目錄。
通常我們只用到path、view、inject這幾個屬性,由于inject的默認值為"AutoJnjectByType",是最常用的,因此通常也不需要顯式指定這個屬性值。而disInject是用來標識不允許注入的屬性的,當我們的action出現了一些不需要注入的屬性時,如logger,我們就需要使用這個屬性來指定哪些是不需要注入的。autoToken則是標識是否開啟防重復提交功能的。
posted on 2007-12-28 13:36
天 一
閱讀(1202)
評論(0)
編輯
收藏
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
<
2007年12月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(1)
給我留言
查看公開留言
查看私人留言
隨筆檔案
2008年4月 (1)
2008年1月 (2)
2007年12月 (1)
搜索
最新評論
1.?re: 基于Struts2+Spring+JPA的添刪改查示例[未登錄]
可能是會有問題,我沒有做很多測試,畢竟只是一個簡單的示例,呵呵!
--天一
2.?re: 基于Struts2+Spring+JPA的添刪改查示例
我部署了一下,連續刪除會出現錯誤,
增加留言時第一次是增加,后面幾次就成了編輯,
不知道是什么原因
--dna
3.?re: 基于Struts2+Spring+JPA的添刪改查示例
http://www.bt285.cn
BT285.cn 我這個BT網站也是用這個技術的說.
--王能
4.?re: 基于Struts2+Spring+JPA的添刪改查示例
一般就是這樣用的
--super2
5.?re: 基于Struts2+Spring+JPA的添刪改查示例
簡單的應用,就省了。
--天 一
閱讀排行榜
1.?基于Struts2+Spring+JPA的添刪改查示例(3143)
2.?EasyJWeb結合Ext的一個全新的Ajax示例(1425)
3.?一個基于ajax的聊天室示例應用(1321)
4.?EasyJWeb注解的使用——簡化Action層的開發(1202)
評論排行榜
1.?EasyJWeb結合Ext的一個全新的Ajax示例(7)
2.?基于Struts2+Spring+JPA的添刪改查示例(6)
3.?一個基于ajax的聊天室示例應用(1)
4.?EasyJWeb注解的使用——簡化Action層的開發(0)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 天 一
主站蜘蛛池模板:
成年女人18级毛片毛片免费观看
|
av永久免费网站在线观看
|
91福利视频免费
|
国产亚洲精久久久久久无码
|
国产福利电影一区二区三区,免费久久久久久久精
|
久久av无码专区亚洲av桃花岛
|
a级毛片黄免费a级毛片
|
亚洲中文字幕第一页在线
|
免费夜色污私人影院网站
|
亚洲XX00视频
|
一日本道a高清免费播放
|
亚洲精品无码AV中文字幕电影网站
|
免费A级毛片在线播放不收费
|
亚洲AV无码AV日韩AV网站
|
日韩中文字幕免费
|
特黄aa级毛片免费视频播放
|
亚洲高清无码综合性爱视频
|
成人A毛片免费观看网站
|
亚洲国产精品人久久
|
2021在线永久免费视频
|
亚洲成人免费网址
|
四虎成人免费网址在线
|
日本视频免费观看
|
在线观看亚洲av每日更新
|
久久这里只精品热免费99
|
亚洲综合激情五月丁香六月
|
精品国产免费观看
|
国产精品小视频免费无限app
|
亚洲国产第一站精品蜜芽
|
色影音免费色资源
|
国产亚洲蜜芽精品久久
|
亚洲精品国产精品乱码不99
|
国产成人精品无码免费看
|
亚洲明星合成图综合区在线
|
四虎成人免费大片在线
|
免费观看又污又黄在线观看
|
日本亚洲欧洲免费天堂午夜看片女人员
|
亚洲精品尤物yw在线影院
|
99热这里只有精品6免费
|
日韩亚洲国产高清免费视频
|
亚洲va中文字幕无码
|