xwork入門

首先我們自己編寫一個Result
  1. packagexwork;
  2. importcom.opensymphony.xwork2.ActionInvocation;
  3. importcom.opensymphony.xwork2.Result;
  4. importcom.opensymphony.xwork2.util.TextParseUtil;
  5. /**
  6. *@authorwangmingjie
  7. *@date2008-9-29下午10:37:58
  8. */
  9. publicclassPrintToConsoleResultimplementsResult{
  10. /**
  11. *
  12. */
  13. privatestaticfinallongserialVersionUID=2324715560445939880L;
  14. privateStringparam;
  15. publicStringgetParam(){
  16. returnparam;
  17. }
  18. publicvoidsetParam(Stringparam){
  19. this.param=param;
  20. }
  21. publicvoidexecute(ActionInvocationinvocation)throwsException{
  22. Stringresult=TextParseUtil.translateVariables(param,invocation.getStack());
  23. System.out.println("${test}PrintToConsoleResult輸出的:"+result);
  24. }
  25. }

  1. packagexwork;
  2. importcom.opensymphony.xwork2.ActionSupport;
  3. /**
  4. *@authorwangmingjie
  5. *@date2008-9-29下午10:35:15
  6. */
  7. publicclassHelloWorldActionextendsActionSupport{
  8. /**
  9. *
  10. */
  11. privatestaticfinallongserialVersionUID=2542729556059532666L;
  12. privateStringname;
  13. privateintage;
  14. privateStringtest="";
  15. publicStringexecute()throwsException{
  16. System.out.println("action輸出的:helloworld!");
  17. test="helloworldtest";
  18. returnSUCCESS;
  19. }
  20. publicStringgetTest(){
  21. returntest;
  22. }
  23. publicvoidsetTest(Stringtest){
  24. this.test=test;
  25. }
  26. publicvoidvalidate(){
  27. System.out.println("執行校驗");
  28. }
  29. publicStringcreate()throwsException{
  30. System.out.println("執行了create方法");
  31. returnSUCCESS;
  32. }
  33. publicStringgetName(){
  34. returnname;
  35. }
  36. publicvoidsetName(Stringname){
  37. this.name=name;
  38. }
  39. publicintgetAge(){
  40. returnage;
  41. }
  42. publicvoidsetAge(intage){
  43. this.age=age;
  44. }
  45. }

  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <!DOCTYPExworkPUBLIC
  3. "-//OpenSymphonyGroup//XWork1.1.1//EN"
  4. "http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">
  5. <xwork>
  6. <includefile="xwork-default.xml"/>
  7. <packagename="default-hello-world"extends="xwork-default"namespace="/helloWorld">
  8. <result-types>
  9. <result-typename="printToConsole"class="xwork.PrintToConsoleResult"/>
  10. </result-types>
  11. <actionname="helloWorld"class="xwork.HelloWorldAction">
  12. <resulttype="printToConsole">
  13. <paramname="param">${test}</param>
  14. </result>
  15. </action>
  16. </package>
  17. </xwork>

  1. packagexwork;
  2. /**
  3. *@authorwangmingjie
  4. *@date2008-9-29下午10:41:41
  5. */
  6. importjava.util.LinkedHashMap;
  7. importcom.opensymphony.xwork2.ActionProxy;
  8. importcom.opensymphony.xwork2.ActionProxyFactory;
  9. importcom.opensymphony.xwork2.config.Configuration;
  10. importcom.opensymphony.xwork2.config.ConfigurationManager;
  11. importcom.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
  12. importcom.opensymphony.xwork2.validator.*;
  13. /**
  14. *
  15. *@authortm_jee
  16. *@version$Date$$Id$
  17. */
  18. publicclassHelloWorldTutorial{
  19. publicstaticvoidmain(String[]args)throwsException{
  20. ConfigurationManagerconfManager=newConfigurationManager();//初始化配置管理類示例
  21. confManager.addConfigurationProvider(
  22. newXmlConfigurationProvider("xwork/xwork_helloworld.xml",true));//通過xml來添加配置文件
  23. Configurationconf=confManager.getConfiguration();
  24. ActionProxyFactoryactionProxyFactory=conf.getContainer().getInstance(ActionProxyFactory.class);
  25. ActionProxyactionProxy=actionProxyFactory.createActionProxy(
  26. "/helloWorld","helloWorld",newLinkedHashMap());
  27. Stringresult=actionProxy.execute();//action代理執行
  28. if("success".equals(result)){
  29. HelloWorldActionaction=(HelloWorldAction)actionProxy.getAction();
  30. //returninfobacktocallerorjustprinttoscreenforthisexample
  31. System.out.println("action執行之後:"+action.getTest());
  32. }else{
  33. thrownewRuntimeException("Imlazy");
  34. }
  35. }
  36. }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章