-- ·|­û / µù¥U -- ¡@
¡@±b¸¹¡G
¡@±K½X¡G
¡@ | µù¥U | §Ñ°O±K½X
10/8 ·s®Ñ¨ì¡I 10/1 ·s®Ñ¨ì¡I 9/24 ·s®Ñ¨ì¡I 9/18 ·s®Ñ¨ì¡I
ÁʮѬyµ{¡EQ & A¡E¯¸°È¯d¨¥ª©¡E«ÈªA«H½c
¢x 3ds Max¢x Maya¢x Rhino¢x After Effects¢x SketchUp¢x ZBrush¢x Painter¢x Unity¢x
¢x PhotoShop¢x AutoCad¢x MasterCam¢x SolidWorks¢x Creo¢x UG¢x Revit¢x Nuke¢x
¢x C#¢x C¢x C++¢x Java¢x ¹CÀ¸µ{¦¡¢x Linux¢x ´O¤J¦¡¢x PLC¢x FPGA¢x Matlab¢x
¢x Àb«È¢x ¸ê®Æ®w¢x ·j¯Á¤ÞÀº¢x ¼v¹³³B²z¢x Fluent¢x VR+AR¢x ANSYS¢x ²`«×¾Ç²ß¢x
¢x ³æ´¹¤ù¢x AVR¢x OpenGL¢x Arduino¢x Raspberry Pi¢x ¹q¸ô³]­p¢x Cadence¢x Protel¢x
¢x Hadoop¢x Python¢x Stm32¢x Cortex¢x Labview¢x ¤â¾÷µ{¦¡¢x Android¢x iPhone¢x
¥i¬d®Ñ¦W,§@ªÌ,ISBN,3dwoo®Ñ¸¹
¸Ô²Ó®ÑÄy¤ÀÃþ

Struts2®Ø¬[À³¥Î±Ðµ{

( ²Åé ¦r)
§@ªÌ¡G³¯ùÚ¡B±i¤@»ïÃþ§O¡G1. -> µ{¦¡³]­p -> JAVA -> Struts
ĶªÌ¡G
¥Xª©ªÀ¡G²MµØ¤j¾Ç¥Xª©ªÀStruts2®Ø¬[À³¥Î±Ðµ{ 3dWoo®Ñ¸¹¡G 44580
¸ß°Ý®ÑÄy½Ð»¡¥X¦¹®Ñ¸¹¡I

¡i¦³®w¦s¡j
NT°â»ù¡G 220 ¤¸

¥Xª©¤é¡G3/1/2016
­¶¼Æ¡G255
¥úºÐ¼Æ¡G0
¯¸ªø±ÀÂË¡G
¦L¨ê¡G¶Â¥Õ¦L¨ê»y¨t¡G ( ²Åé ª© )
¥[¤JÁʪ«¨® ¢x¥[¨ì§Úªº³Ì·R
(½Ð¥ýµn¤J·|­û)
ISBN¡G9787302421825
§@ªÌ§Ç¡@|¡@ĶªÌ§Ç¡@|¡@«e¨¥¡@|¡@¤º®e²¤¶¡@|¡@¥Ø¿ý¡@|¡@§Ç
(²Åé®Ñ¤W©Ò­z¤§¤U¸ü³sµ²¯Ó®É¶O¥\, ®¤¤£¾A¥Î¦b¥xÆW, ­YŪªÌ»Ý­n½Ð¦Û¦æ¹Á¸Õ, ®¤¤£«OÃÒ)
§@ªÌ§Ç¡G

ĶªÌ§Ç¡G

«e¨¥¡G

ºÉºÞ¤w¸g¦³³\¦h»PStruts 2®Ø¬[¦³Ãöªº®ÑÄy¡A¦ý¤j³¡¤À®ÑÄy«D±`ª`­«ª¾ÃѪº¨t²Î©Ê¡A¨Ï±oª¾ÃÑÅé¨tµ²ºc¹L¤_¥þ­±¡BÃe¤j¡A¤£¤Ó¾A¦X§@¬°°ª®Õ­pºâ¾÷¬ÛÃö±M·~ªº±Ð§÷¡C¥»®Ñªº­«ÂI¤£¬O²³æ¦a¤¶²ÐStruts 2®Ø¬[ªº°ò¦ª¾ÃÑ¡A¦Ó¬O¤j¶qªº¹ê¨Ò»P¹ê½îÀô¸`¡CŪªÌ³q¹L¥»®Ñ¥i¥H§Ö³t¦a´x´¤Struts 2®Ø¬[§Þ³N¡A´£°ª¶}µoStruts 2À³¥Îªº¯à¤O¡C¥þ®Ñ¦@10³¹¡A¨ãÅ餺®e¦p¤U¡G
²Ä1³¹¤¶²ÐMVCªº³]­p«ä·Q¡AÁ¿¸ÑStruts 2À³¥Î¶}µo®Ø¬[ªººc«Ø¡C
²Ä2³¹Á¿¸ÑActionªº½s¼g¤è¦¡¡B±µ¦¬¥Î¤á¼Æ¾Úªº¤è¦¡¡B¦bAction¤¤³X°ÝServlet API¥H¤ÎAction¤¤±`¨£ªºµ²ªGÃþ«¬¡A¬O¥»®Ñªº­«ÂI¤º®e¤§¤@¡C
²Ä3³¹Á¿¸ÑStruts 2ªºÃþ«¬Âà´«¡A¥]¬A¤º¸mªºÃþ«¬Âà´«¾¹©M¦Û©w¸qÃþ«¬Âà´«¾¹¡C
²Ä4³¹Á¿¸ÑStruts 2ªºÄdºI¾¹¡A¥]¬A¤º¸mªºÄdºI¾¹©M¦Û©w¸qÄdºI¾¹¡C
²Ä5³¹Á¿¸Ñªí¹F¦¡»y¨¥OGNL¡A¥]¬AOGNL»yªk°ò¦¡B­È´Ìªº·§©À¥H¤ÎOGNLªí¹F¦¡ªºÀ³¥Î¡C
²Ä6³¹Á¿¸ÑStruts 2¼Ðñ¡A¥]¬A«DUI¼Ðñ©MUI¼Ðñ¡A¬O¥»®Ñªº­«ÂI¤º®e¤§¤@¡C
²Ä7³¹Á¿¸ÑStruts 2®Ø¬[ªº¿é¤J®ÕÅçÅé¨t¡A¥]¬A¤â°Ê½sµ{®ÕÅç©M®ÕÅç®Ø¬[®ÕÅç¡C
²Ä8³¹Á¿¸ÑStruts 2°ê»Ú¤Æªº¹ê²{¤èªk¡A¥]¬AJSP­¶­±°ê»Ú¤Æ¡B®ÕÅç«H®§°ê»Ú¤Æ¥H¤ÎAction«H®§°ê»Ú¤Æµ¥¤º®e¡C
²Ä9³¹Á¿¸Ñ¨Ï¥ÎStruts 2®Ø¬[¶i¦æ¤å¥óªº¤W¶Ç»P¤U¸ü¡A¥]¬A³æ¤å¥ó¤W¶Ç¡B¦h¤å¥ó¤W¶Ç¥H¤Î¤å¥ó¤U¸ü¡C
²Ä10³¹¬O¥»®Ñªº­«ÂI¤º®e¤§¤@¡A±N«e­±³¹¸`ªºª¾ÃѶi¦æºî¦X¡AÁ¿¸Ñ¨Ï¥ÎStruts 2®Ø¬[¨Ó¶}µo¤@­ÓWebÀ³¥Î¡]¹q¤l°Ó°È¥­»O¡^ªº¹Lµ{¡C
¬°¤F«K¤_±Ð¾Ç¡A¥»±Ð§÷°t¦³±Ð¾Ç½Ò¥ó¡B·½¥N½X¥H¤Î¹ê½îÀô¸`»P½Ò¦Z²ßÃDªº°Ñ¦Òµª®×¡AŪªÌ¥i±q²MµØ¤j¾Ç¥Xª©ªÀªººô¯¸¡]http://www.tup.com.cn¡^§K¶O¤U¸ü¡C
¥Ñ¤_½sªÌ¤ô¥­¦³­­¡A®Ñ¤¤Ãø§K·|¦³¤£¨¬¤§³B¡A·q½Ð¼s¤jŪªÌ§åµû«ü¥¿¡C

½sªÌ
2015¦~8¤ë
¤º®e²¤¶¡G

¥»®Ñ¬O¤@¥»À³¥Î±Ðµ{¡A³q¹L¤j¶q¹ê¨Ò¤¶²ÐStruts 2®Ø¬[À³¥Îªº°ò¥»«ä·Q¡B¤èªk©M§Þ³N¡A¦P®É°t³Æ¤F¬ÛÀ³ªº¹ê½îÀô¸`¡A¾d©TStruts 2À³¥Î¶}µoªº¤èªk©M§Þ³N¡A¤O¹Ï¹F¨ì¡§°µ¤¤¾Ç¡A¾Ç¤¤°µ¡¨¡C
¥þ®Ñ¦@10³¹¡A¤º®e¥]¬AStruts 2¤Jªù¡BStruts 2ªºAction¡BÃþ«¬Âà´«¡BÄdºI¾¹¡Bªí¹F¦¡»y¨¥OGNL¡B¼Ðñ®w¡B¿é¤J®ÕÅç¡B°ê»Ú¤Æ¡B¤å¥ó¤W¶Ç©M¤U¸ü¥H¤Î¹q¤l°Ó°È¥­»Oªº³]­p»P¹ê²{µ¥­«­n¤º®e¡C®Ñ¤¤¹ê¨Ò°¼­«¹ê¥Î©Ê©M±Òµo©Ê¡A½ì¨ý©Ê±j¡A¤À¥¬¦X²z¡A³q«U©öÀ´¡A¨ÏŪªÌ¯à°÷§Ö³t´x´¤Struts 2®Ø¬[À³¥Îªº°ò¦ª¾ÃÑ¡B½sµ{§Þ¥©¥H¤Î§¹¾ãªº¶}µoÅé¨t¡A¬°¹ê»ÚÀ³¥Î¥´¤U°í¹êªº°ò¦¡C
¥Ø¿ý¡G

²Ä1³¹Struts2¤Jªù1

1.1MVC¼Ò¦¡1

1.2Struts2ªºÅé¨tµ²ºc2

1.3Struts2ªº¤u§@Àô¹Ò3

1.3.1Struts2ªº¤U¸ü»P¦w¸Ë4

1.3.2¨Ï¥ÎEclipse¶}µoStruts2ªºWebÀ³¥Î4

1.3.3¨Ï¥ÎMyEclipse¶}µoStruts2ªºWebÀ³¥Î10

1.4²Ä¤@­ÓStruts2À³¥Î14

1.4.1¥Î¤á½Ð¨D­¶­±14

1.4.2Action¹ê²{15

1.4.3°t¸mAction15

1.4.4µo¥¬¦}¹B¦æWebÀ³¥Î16

1.4.5struts.xml°t¸m¤¤ªº¥]Äݩʤ¶²Ð19

1.5¹ê½îÀô¸`19

1.6¥»³¹¤pµ²19

²ßÃD120²Ä2³¹Struts2ªºAction21

2.1Actionªº³Ð«Ø»P°t¸m21

2.1.1Actionªº³Ð«Ø¤è¦¡21

2.1.2Actionªº°t¸m23

2.1.3DMI¥H¤Î³q°t²Å24

2.1.4¹ê½îÀô¸`26

2.2Action±µ¦¬½Ð¨D°Ñ¼Æ26

2.2.1¨Ï¥ÎActionÄݩʱµ¦¬°Ñ¼Æ26

2.2.2¨Ï¥ÎDomainModel±µ¦¬°Ñ¼Æ27

2.2.3¨Ï¥ÎModelDriven±µ¤f±µ¦¬°Ñ¼Æ29

2.2.4¹ê½îÀô¸`29

2.3Action³X°ÝServletAPI30

2.3.1³q¹LActionContext30

2.3.2¹ê²{RequestAware¡BSessionAware©MApplicationAware±µ¤f32

2.3.3³q¹LServletActionContext33

2.3.4¹ê²{ServletRequestAware±µ¤f34

2.3.5¹ê½îÀô¸`35

2.4struts.xml¤å¥ó¤¤ªºinclude¤Îconstant36

2.4.1includeªº°t¸m36

2.4.2constantªº°t¸m36

2.5Action¤¤±`¨£ªºµ²ªGÃþ«¬37

2.5.1chainÃþ«¬37

2.5.2redirectActionÃþ«¬38

2.5.3redirectÃþ«¬39

2.5.4dispatcherÃþ«¬39

2.5.5¥þ§½result39

2.5.6¹ê½îÀô¸`40

2.6¥]ªºÄ~©Ó41

2.7¥»³¹¤pµ²42

²ßÃD242²Ä3³¹Struts2ªºÃþ«¬Âà´«43

3.1Ãþ«¬Âà´«ªº·N¸q43

3.2Struts2¤º¸mªºÃþ«¬Âà´«¾¹45

3.3¦Û©w¸qÃþ«¬Âà´«¾¹47

3.3.1¹ê²{Ãþ«¬Âà´«¾¹50

3.3.2ª`¥UÃþ«¬Âà´«¾¹52

3.3.3¹ê½îÀô¸`53

3.4¼Æ²ÕÄݩʪºÃþ«¬Âà´«¾¹53

3.5¶°¦XÄݩʪºÃþ«¬Âà´«¾¹56

3.6¥»³¹¤pµ²58

²ßÃD358²Ä4³¹Struts2ªºÄdºI¾¹59

4.1ÄdºI¾¹·§­z59

4.1.1ÄdºI¾¹ªº­ì²z59

4.1.2ÄdºI¾¹»P¹LÂo¾¹ªº°Ï§O59

4.1.3Struts2¤º¸mªºÄdºI¾¹60

4.2ÄdºI¾¹ªº°t¸m61

4.2.1°t¸mÄdºI¾¹62

4.2.2ÄdºI¾¹´Ì63

4.2.3Àq»{ÄdºI¾¹63

4.2.4¹ê½îÀô¸`64

4.3¦Û©w¸qÄdºI¾¹64

4.3.1¹ê²{Interceptor±µ¤f65

4.3.2Ä~©ÓAbstractInterceptorÃþ67

4.3.3Ä~©ÓMethodFilterInterceptorÃþ67

4.3.4¹ê½îÀô¸`69

4.4¨Ï¥Î¦Û©w¸qÄdºI¾¹§¹¦¨Åv­­ÅçÃÒ71

4.5¥»³¹¤pµ²74

²ßÃD474²Ä5³¹ªí¹F¦¡»y¨¥OGNL76

5.1OGNL²¤¶76

5.2OGNL°ò¦76

5.2.1OGNL¤W¤U¤å78

5.2.2­È´Ì81

5.2.3OGNLªº³X°Ý83

5.2.4¹ê½îÀô¸`85

5.3OGNL°ò¥»»yªk85

5.3.1±`¶q86

5.3.2¾Þ§@²Å86

5.3.3OGNLªí¹F¦¡87

5.3.4¹ê½îÀô¸`91

5.4¥»³¹¤pµ²96

²ßÃD596²Ä6³¹Struts2¤¤ªº¼Ðñ97

6.1¼Ðñ®w·§­z97

6.1.1¼Ðñªº¤ÀÃþ97

6.1.2¼Ðñªº¨Ï¥Î97

6.1.3¼Ðñªº»yªk97

6.2¼Æ¾Ú¼Ðñ98

6.2.1action¼Ðñ99

6.2.2bean¼Ðñ102

6.2.3date¼Ðñ103

6.2.4debug¼Ðñ104

6.2.5include¼Ðñ105

6.2.6param¼Ðñ106

6.2.7push¼Ðñ106

6.2.8set¼Ðñ107

6.2.9url¼Ðñ108

6.2.10property¼Ðñ109

6.2.11¹ê½îÀô¸`109

6.3¬yµ{±±¨î¼Ðñ110

6.3.1if/elseif/else¼Ðñ110

6.3.2iterator¼Ðñ111

6.3.3append¼Ðñ113

6.3.4generator¼Ðñ114

6.3.5merge¼Ðñ115

6.3.6subset¼Ðñ115

6.3.7sort¼Ðñ117

6.3.8¹ê½îÀô¸`118

6.4ªí³æ¼Ðñ118

6.4.1ªí³æ¼Ðñªº³q¥ÎÄÝ©Ê118

6.4.2checkboxlist¼Ðñ119

6.4.3combobox¼Ðñ121

6.4.4doubleselect¼Ðñ122

6.4.5optiontransferselect¼Ðñ123

6.4.6select¼Ðñ125

6.4.7optgroup¼Ðñ126

6.4.8radio¼Ðñ127

6.4.9¹ê½îÀô¸`128

6.5«Dªí³æ¼Ðñ129

6.6¥»³¹¤pµ²131

²ßÃD6131²Ä7³¹Struts2ªº¿é¤J®ÕÅç132

7.1¿é¤J®ÕÅç·§­z132

7.1.1«È¤áºÝ®ÕÅç132

7.1.2ªA°È¾¹ºÝ®ÕÅç136

7.2¤â°Ê½sµ{®ÕÅç136

7.2.1­«¼gvalidate()¤èªk136

7.2.2­«¼gvalidateXxx()¤èªk139

7.2.3¿é¤J®ÕÅ窺¬yµ{140

7.2.4¹ê½îÀô¸`140

7.3®ÕÅç®Ø¬[®ÕÅç141

7.3.1Struts2¤º¸mªº®ÕÅç¾¹141

7.3.2±`¥Î¤º¸m®ÕÅç¾¹ªº°t¸m142

7.3.3®ÕÅçAction¤¤©Ò¦³»Pexecuteñ¦W¬Û¦Pªº¤èªk143

7.3.4®ÕÅçAction¤¤¬Y­Ó»Pexecuteñ¦W¬Û¦Pªº¤èªk145

7.3.5®ÕÅç¤å¥ó·j¯Á¶¶§Ç146

7.3.6¹ê½îÀô¸`146

7.4¥»³¹¤pµ²146

²ßÃD7147²Ä8³¹Struts2ªº°ê»Ú¤Æ148

8.1µ{§Ç°ê»Ú¤Æ·§­z148

8.1.1Java°ê»Ú¤Æªº«ä·Q148

8.1.2Java¤ä«ùªº»y¨¥©M°ê®a149

8.1.3Javaµ{§Ç°ê»Ú¤Æ150

8.1.4±a¥e¦ì²Åªº°ê»Ú¤Æ«H®§152

8.1.5¹ê½îÀô¸`152

8.2°ê»Ú¤Æªº¨BÆJ153

8.2.1Struts2¤¤¥[¸ü¥þ§½¸ê·½¤å¥ó153

8.2.2°ê»Ú¤Æ«H®§¿é¥X153

8.2.3¹ê½îÀô¸`156

8.3¸ê·½¤å¥óªº¥[¸ü¤è¦¡157

8.3.1¥]­S³ò¸ê·½¤å¥ó157

8.3.2Action­S³ò¸ê·½¤å¥ó157

8.3.3Á{®É«ü©w¸ê·½¤å¥ó157

8.4¥Î¤á¦Û©w¸q¤Á´«»y¨¥¥Ü¨Ò158

8.5¥»³¹¤pµ²162

²ßÃD8163²Ä9³¹¤å¥óªº¤W¶Ç»P¤U¸ü164

9.1Struts2¤å¥ó¤W¶Ç164

9.1.1°ò¤_ªí³æªº¤å¥ó¤W¶Ç164

9.1.2Struts2³æ¤å¥ó¤W¶Ç165

9.1.3ÄdºI¾¹¹ê²{¤å¥ó¹LÂo168

9.1.4¤å¥ó¤W¶Çªº±`¶q°t¸m169

9.1.5Struts2¦h¤å¥ó¤W¶Ç169

9.1.6¹ê½îÀô¸`172

9.2Struts2¤å¥ó¤U¸ü172

9.3¥»³¹¤pµ²176

²ßÃD9176²Ä10³¹¹q¤l°Ó°È¥­»Oªº³]­p»P¹ê²{178

10.1¨t²Î³]­p178

10.1.1¨t²Î¥\¯à»Ý¨D178

10.1.2¨t²Î¼Ò¶ô¹º¤À178

10.2¼Æ¾Ú®w³]­p179

10.2.1¼Æ¾Ú®w·§©Àµ²ºc³]­p179

10.2.2¼Æ¾ÚÅÞ¿èµ²ºc³]­p181

10.2.3³Ð«Ø¼Æ¾Úªí182

10.3¨t²ÎºÞ²z185

10.3.1¾É¤J¬ÛÃöªºjar¥]185

10.3.2JSP­¶­±ºÞ²z185

10.3.3¥]ºÞ²z189

10.3.4°t¸m¤å¥óºÞ²z189

10.4²Õ¥ó³]­p195

10.4.1¹LÂo¾¹195

10.4.2ÄdºI¾¹195

10.4.3ÅçÃÒ½X196

10.4.4¼Æ¾Ú®w¾Þ§@196

10.5¦Z»OºÞ²z¤l¨t²Îªº¹ê²{211

10.5.1Actionªº¹ê²{212

10.5.2ºÞ²z­ûµn¿ý218

10.5.3²K¥[°Ó«~219

10.5.4¬d¸ß°Ó«~221

10.5.5­×§ï°Ó«~223

10.5.6§R°£°Ó«~226

10.5.7­q³æºÞ²z227

10.5.8¥Î¤áºÞ²z228

10.5.9¤½§iºÞ²z229

10.5.10°h¥X¨t²Î232

10.6«e»O¹q¤l°Ó°È¤l¨t²Îªº¹ê²{232

10.6.1Actionªº¹ê²{233

10.6.2¾É¯èÄæ239

10.6.3¾P°â±Æ¦æ243

10.6.4¤H®ð±Æ¦æ243

10.6.5³Ì·s°Ó«~243

10.6.6¤½§iÄæ243

10.6.7¥Î¤áª`¥U243

10.6.8¥Î¤áµn¿ý243

10.6.9°Ó«~¸Ô±¡244

10.6.10Ãöª`°Ó«~246

10.6.11Áʪ«¨®246

10.6.12¤U³æ249

10.6.13¥Î¤á¤¤¤ß251

10.7¥»³¹¤pµ²255

°Ñ¦Ò¤åÄm256

§Ç¡G