struts1+ajax+json/xml

Struts1+JQuery+JSON/XML的例子

1.Struts+JQuery+XML

struts-config.xml如下:

[xhtml] view plain copy
  1. <action
  2. attribute="testForm"
  3. input="/indexxml.jsp"
  4. name="testForm"
  5. path="/testxml"
  6. scope="request"
  7. type="action.TestXmlAction"
  8. validate="false"/>

TestxmlAction.java如下:

  1. /*
  2. *GeneratedbyMyEclipseStruts
  3. *Templatepath:templates/java/JavaClass.vtl
  4. */
  5. packageaction;
  6. importjava.io.IOException;
  7. importjava.io.PrintWriter;
  8. importjava.util.ArrayList;
  9. importjava.util.List;
  10. importjavax.servlet.http.HttpServletRequest;
  11. importjavax.servlet.http.HttpServletResponse;
  12. importorg.apache.struts.action.Action;
  13. importorg.apache.struts.action.ActionForm;
  14. importorg.apache.struts.action.ActionForward;
  15. importorg.apache.struts.action.ActionMapping;
  16. importform.TestForm;
  17. /**
  18. *MyEclipseStruts
  19. *Creationdate:03-05-2010
  20. *
  21. *XDocletdefinition:
  22. *@struts.actionpath="/test"name="testForm"input="index.jsp"scope="request"
  23. */
  24. publicclassTestXmlActionextendsAction{
  25. /*
  26. *GeneratedMethods
  27. */
  28. /**
  29. *Methodexecute
  30. *@parammapping
  31. *@paramform
  32. *@paramrequest
  33. *@paramresponse
  34. *@returnActionForward
  35. *@throwsIOException
  36. */
  37. publicActionForwardexecute(ActionMappingmapping,ActionFormform,
  38. HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException{
  39. TestFormtestForm=(TestForm)form;//TODOAuto-generatedmethodstub
  40. response.setContentType("text/xml;charset=utf-8");//传输xml时要用html
  41. response.setCharacterEncoding("utf-8");
  42. System.out.println(testForm.getTestvalue());
  43. PrintWriterpw=response.getWriter();
  44. //1.传递单个参数,注意应将text/xml改为text/html
  45. /*inti=9;
  46. pw.print(i);
  47. pw.flush();*/
  48. //2.生成xml文件返回给html页面,此时list里面为单个String
  49. /*StringBuilderxml=newStringBuilder();
  50. List<String>list=newArrayList<String>();
  51. list.add("aaa");
  52. list.add("bbb");
  53. list.add("ccc");
  54. xml.append("<items>");
  55. for(Objecto:list){
  56. xml.append("<item>").append(o).append("</item>");
  57. }
  58. xml.append("</items>");
  59. System.out.println(xml);
  60. pw.print(xml.toString());
  61. pw.flush();*/
  62. //3.生成xml文件返回给html页面,此时list里面为对象类型
  63. /*response.setContentType("text/xml;charset=utf-8");
  64. StringBuilderxml=newStringBuilder();
  65. List<User>list=newArrayList<User>();
  66. Useruser1=newUser();
  67. Useruser2=newUser();
  68. Useruser3=newUser();
  69. user1.setUsername("username1");
  70. user1.setPassword(1);
  71. user2.setUsername("username2");
  72. user2.setPassword(2);
  73. user3.setUsername("username3");
  74. user3.setPassword(3);
  75. list.add(user1);
  76. list.add(user2);
  77. list.add(user3);
  78. xml.append("<items>");
  79. for(inti=0;i<list.size();i++){
  80. xml.append("<itemslist>");
  81. xml.append("<username>").append(list.get(i).getUsername()).append("</username>");
  82. xml.append("<password>").append(list.get(i).getPassword()).append("</password>");
  83. xml.append("</itemslist>");
  84. }
  85. xml.append("</items>");
  86. System.out.println(xml);
  87. pw.print(xml.toString());*/
  88. returnnull;
  89. }
  90. }

辅助类User:

  1. packageaction;
  2. publicclassUser{
  3. privateStringusername;
  4. privateintpassword;
  5. publicStringgetUsername(){
  6. returnusername;
  7. }
  8. publicvoidsetUsername(Stringusername){
  9. this.username=username;
  10. }
  11. publicintgetPassword(){
  12. returnpassword;
  13. }
  14. publicvoidsetPassword(intpassword){
  15. this.password=password;
  16. }
  17. }

indexxml.jsp如下:

  1. <%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
  2. <%
  3. Stringpath=request.getContextPath();
  4. StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  5. %>
  6. <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
  7. <html>
  8. <head>
  9. <basehref="<%=basePath%>">
  10. <title>MyStrutsJQueryJson</title>
  11. <metahttp-equiv="pragma"content="no-cache">
  12. <metahttp-equiv="cache-control"content="no-cache">
  13. <metahttp-equiv="expires"content="0">
  14. <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3">
  15. <metahttp-equiv="description"content="Thisismypage">
  16. <!--
  17. <linkrel="stylesheet"type="text/css"href="styles.css">
  18. -->
  19. <scripttype="text/javascript"src="/S1.2SHJQuery/js/jquery-1.4.2.js"></script>
  20. <scripttype="text/javascript">
  21. //1.jquery单独传递单个参数
  22. /*$(function(){
  23. alert("start");
  24. $.post("testxml.do",{testvalue:$('#test').val()},function(data){
  25. alert(data);
  26. })
  27. })*/
  28. //2.jquery单独传递含单个参数的list,采用的是xml形式
  29. $(function(){
  30. $.post("testxml.do",{testvalue:$('#test').val()},function(data){
  31. varitems=data.getElementsByTagName("item");
  32. alert(items.length);
  33. for(vari=0;i<items.length;i++){
  34. alert(items[i].childNodes[0].nodeValue);
  35. }
  36. })
  37. })
  38. //3.jquery单独传递含对象类型的list,,采用的是xml形式
  39. /*$(function(){
  40. $.post("testxml.do",{testvalue:$('#test').val()},function(data){
  41. varitems=data.getElementsByTagName("itemslist");
  42. //循环输出username和password
  43. for(vari=0;i<items.length;i++){
  44. varchilds=items[i].childNodes;
  45. for(varj=0;j<childs.length;j++){
  46. alert(childs[j].firstChild.nodeValue);
  47. }
  48. }
  49. })
  50. })
  51. */
  52. </script>
  53. </head>
  54. <body>&nbsp;
  55. <formaction="/testxml.do">
  56. <inputtype="button"value="JQuery"id="jquerytest"><br>
  57. <inputtype="text"value="JQuerytest"name="test"id="test">
  58. <fontid="userlogin">登陆</font><spanid="loading"></span>
  59. <pid="result"></p>
  60. </form>
  61. </body>
  62. </html>

2.Struts+JQuery+JSON

TestAction如下:

  1. /*
  2. *GeneratedbyMyEclipseStruts
  3. *Templatepath:templates/java/JavaClass.vtl
  4. */
  5. packageaction;
  6. importjava.io.IOException;
  7. importjava.io.PrintWriter;
  8. importjava.io.UnsupportedEncodingException;
  9. importjava.util.ArrayList;
  10. importjava.util.List;
  11. importjavax.servlet.http.HttpServletRequest;
  12. importjavax.servlet.http.HttpServletResponse;
  13. importnet.sf.json.JSONArray;
  14. importorg.apache.struts.action.Action;
  15. importorg.apache.struts.action.ActionForm;
  16. importorg.apache.struts.action.ActionForward;
  17. importorg.apache.struts.action.ActionMapping;
  18. importform.TestForm;
  19. /**
  20. *MyEclipseStruts
  21. *Creationdate:03-05-2010
  22. *
  23. *XDocletdefinition:
  24. *@struts.actionpath="/test"name="testForm"input="index.jsp"scope="request"
  25. */
  26. publicclassTestActionextendsAction{
  27. /*
  28. *GeneratedMethods
  29. */
  30. /**
  31. *Methodexecute
  32. *@parammapping
  33. *@paramform
  34. *@paramrequest
  35. *@paramresponse
  36. *@returnActionForward
  37. *@throwsUnsupportedEncodingException
  38. */
  39. publicActionForwardexecute(ActionMappingmapping,ActionFormform,
  40. HttpServletRequestrequest,HttpServletResponseresponse)throwsUnsupportedEncodingException{
  41. TestFormtestForm=(TestForm)form;//TODOAuto-generatedmethodstub
  42. response.setContentType("text/json;charset=utf-8");//注意设置为json,如果为xml,则设为xml
  43. /*response.setContentType("text/xml;charset=utf-8");传输xml时要用xml
  44. *response.setCharacterEncoding("utf-8");
  45. **/
  46. System.out.println(testForm.getTestvalue());
  47. //1.struts1.2+JQuery+Json传递list参数,此时list的类型为String
  48. /*List<String>list=newArrayList<String>();
  49. list.add("string1");
  50. list.add("string2");
  51. list.add("string3");
  52. JSONArrayjson=JSONArray.fromObject(list);
  53. try{
  54. PrintWriterout=response.getWriter();
  55. System.out.println(json);
  56. out.print(json);
  57. out.flush();
  58. }catch(IOExceptione){
  59. //TODOAuto-generatedcatchblock
  60. e.printStackTrace();
  61. }*/
  62. //2.struts1.2+JQuery+Json传递Map参数
  63. /*Map<String,String>map=newHashMap<String,String>();
  64. map.put("name1","string1");
  65. map.put("name2","string2");
  66. map.put("name3","string3");
  67. JSONArrayjson=JSONArray.fromObject(map);
  68. try{
  69. PrintWriterout=response.getWriter();
  70. System.out.println(json);
  71. out.print(json);
  72. out.flush();
  73. }catch(IOExceptione){
  74. //TODOAuto-generatedcatchblock
  75. e.printStackTrace();
  76. }*/
  77. //3.传递单个String值
  78. /*Stringsinglepara="{/"name/":'中国'}";//要注意格式
  79. JSONObjectjson=JSONObject.fromObject(test);
  80. try{
  81. PrintWriterout=response.getWriter();
  82. System.out.println(json);
  83. out.print(json);
  84. out.flush();
  85. }catch(IOExceptione){
  86. //TODOAuto-generatedcatchblock
  87. e.printStackTrace();
  88. }*/
  89. //4.struts1.2+JQuery+Json传递User参数
  90. /*Useruser1=newUser();
  91. user1.setPassword(1);
  92. Stringusername="你好";
  93. user1.setUsername(username);
  94. //user1.setUsername(newString(username.getBytes("utf-8"),"iso8859-1"));
  95. JSONObjectjson=JSONObject.fromObject(user1);
  96. try{
  97. PrintWriterout=response.getWriter();
  98. System.out.println(json);
  99. out.print(json);
  100. out.flush();
  101. }catch(IOExceptione){
  102. //TODOAuto-generatedcatchblock
  103. e.printStackTrace();
  104. }*/
  105. //5.struts1.2+JQuery+Json传递list参数,此时list的类型为String
  106. List<User>list=newArrayList<User>();
  107. Useruser1=newUser();
  108. user1.setPassword(1);
  109. user1.setUsername("u1");
  110. Useruser2=newUser();
  111. user2.setPassword(2);
  112. user2.setUsername("u2");
  113. Useruser3=newUser();
  114. user3.setPassword(3);
  115. user3.setUsername("u3");
  116. list.add(user1);
  117. list.add(user2);
  118. list.add(user3);
  119. JSONArrayjson=JSONArray.fromObject(list);
  120. try{
  121. PrintWriterout=response.getWriter();
  122. System.out.println(json);
  123. out.print(json);
  124. out.flush();
  125. }catch(IOExceptione){
  126. //TODOAuto-generatedcatchblock
  127. e.printStackTrace();
  128. }
  129. returnnull;
  130. }
  131. }

struts-config.xml如下:

[c-sharp] view plain copy
  1. <action
  2. attribute="testForm"
  3. input="/index.jsp"
  4. name="testForm"
  5. path="/test"
  6. scope="request"
  7. type="action.TestAction"
  8. validate="false"/>

index.jsp如下:

  1. <%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
  2. <%
  3. Stringpath=request.getContextPath();
  4. StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  5. %>
  6. <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
  7. <html>
  8. <head>
  9. <basehref="<%=basePath%>">
  10. <title>struts+jquery+json</title>
  11. <metahttp-equiv="pragma"content="no-cache">
  12. <metahttp-equiv="cache-control"content="no-cache">
  13. <metahttp-equiv="expires"content="0">
  14. <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3">
  15. <metahttp-equiv="description"content="Thisismypage">
  16. <!--
  17. <linkrel="stylesheet"type="text/css"href="styles.css">
  18. -->
  19. <scripttype="text/javascript"src="/MyStrutsJQueryJson/js/jquery-1.4.2.js"></script>
  20. <scripttype="text/javascript">
  21. /*1.struts1.2+JQuery+Json传递list参数,此时list的类型为String
  22. $(function(){
  23. $("#submitbutton").click(function(){
  24. varparams={testvalue:$('#test').val()};
  25. $.ajax({
  26. url:"test.do",
  27. data:params,
  28. type:'post',
  29. dataType:'json',
  30. success:function(data){
  31. //data值:["string1","string2","string3"]
  32. alert("成功");
  33. alert(data.length);
  34. for(varj=0;j<data.length;j++)
  35. {
  36. alert(data[j]);
  37. }
  38. },
  39. error:function(){
  40. alert("失败");
  41. }
  42. })
  43. })
  44. })*/
  45. //2.struts1.2+JQuery+Json传递Map参数
  46. /*$(function(){
  47. $("#submitbutton").click(function(){
  48. alert("start");
  49. varparams={testvalue:$('#test').val()};
  50. $.ajax({
  51. url:"test.do",
  52. data:params,
  53. type:'post',
  54. dataType:'json',
  55. success:function(data){
  56. //alert(data.name1);//缺点是须知道属性名,在JSONArray下
  57. //迭代循环输出
  58. //data值为:[{"name3":"string3","name1":"string1","name2":"string2"}]
  59. $.each(data[0],function(key,value){
  60. alert(key+""+value);
  61. })
  62. },
  63. error:function(){
  64. alert("失败");
  65. }
  66. })
  67. })
  68. })*/
  69. //3.struts1.2+JQuery+Json传递String参数
  70. /*
  71. $(function(){
  72. $("#submitbutton").click(function(){
  73. varparams={testvalue:$('#test').val()};
  74. alert("start");
  75. $.ajax({
  76. url:"test.do",
  77. data:params,
  78. type:'post',
  79. dataType:'json',
  80. success:function(data){
  81. alert("成功");
  82. alert(data.name);
  83. },
  84. error:function(){
  85. alert("失败");
  86. }
  87. })
  88. })
  89. })*/
  90. //4.struts1.2+JQuery+Json传递User参数
  91. /*$(function(){
  92. $("#submitbutton").click(function(){
  93. varparams={testvalue:$('#test').val()};
  94. $.ajax({
  95. url:"test.do",
  96. data:params,
  97. type:'post',
  98. dataType:'json',
  99. success:function(data){
  100. //data值为:{"password":1,"username":"你好"}
  101. alert("成功");
  102. alert(data.username);
  103. alert(data.password);
  104. },
  105. error:function(){
  106. alert("失败");
  107. }
  108. })
  109. })
  110. })*/
  111. //5.struts1.2+JQuery+Json传递list参数,此时list的类型为User
  112. $(function(){
  113. $("#submitbutton").click(function(){
  114. varparams={testvalue:$('#test').val()};
  115. $.ajax({
  116. url:"test.do",
  117. data:params,
  118. type:'post',
  119. dataType:'json',
  120. success:function(data){
  121. alert("成功");
  122. //data值:[{"password":1,"username":"u1"},{"password":2,"username":"u2"},{"password":3,"username":"u3"}]
  123. /*for(varj=0;j<data.length;j++)
  124. {
  125. alert(data[j].username);
  126. alert(data[j].password);
  127. }*/
  128. $.each(data,function(i){
  129. $.each(data[i],function(key,value){
  130. alert(key+""+value);
  131. })
  132. })
  133. },
  134. error:function(){
  135. alert("失败");
  136. }
  137. })
  138. })
  139. })
  140. </script>
  141. </head>
  142. <body>
  143. 测试输入框:<inputtype="text"id="test"name="hello"><br>
  144. <inputtype="button"name="submitbutton"id="submitbutton"value="提交">
  145. </body>
  146. </html>

Struts1+JQuery+JSON/XML的例子

1.Struts+JQuery+XML

struts-config.xml如下:

[xhtml] view plain copy
  1. <action
  2. attribute="testForm"
  3. input="/indexxml.jsp"
  4. name="testForm"
  5. path="/testxml"
  6. scope="request"
  7. type="action.TestXmlAction"
  8. validate="false"/>

TestxmlAction.java如下:

  1. /*
  2. *GeneratedbyMyEclipseStruts
  3. *Templatepath:templates/java/JavaClass.vtl
  4. */
  5. packageaction;
  6. importjava.io.IOException;
  7. importjava.io.PrintWriter;
  8. importjava.util.ArrayList;
  9. importjava.util.List;
  10. importjavax.servlet.http.HttpServletRequest;
  11. importjavax.servlet.http.HttpServletResponse;
  12. importorg.apache.struts.action.Action;
  13. importorg.apache.struts.action.ActionForm;
  14. importorg.apache.struts.action.ActionForward;
  15. importorg.apache.struts.action.ActionMapping;
  16. importform.TestForm;
  17. /**
  18. *MyEclipseStruts
  19. *Creationdate:03-05-2010
  20. *
  21. *XDocletdefinition:
  22. *@struts.actionpath="/test"name="testForm"input="index.jsp"scope="request"
  23. */
  24. publicclassTestXmlActionextendsAction{
  25. /*
  26. *GeneratedMethods
  27. */
  28. /**
  29. *Methodexecute
  30. *@parammapping
  31. *@paramform
  32. *@paramrequest
  33. *@paramresponse
  34. *@returnActionForward
  35. *@throwsIOException
  36. */
  37. publicActionForwardexecute(ActionMappingmapping,ActionFormform,
  38. HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException{
  39. TestFormtestForm=(TestForm)form;//TODOAuto-generatedmethodstub
  40. response.setContentType("text/xml;charset=utf-8");//传输xml时要用html
  41. response.setCharacterEncoding("utf-8");
  42. System.out.println(testForm.getTestvalue());
  43. PrintWriterpw=response.getWriter();
  44. //1.传递单个参数,注意应将text/xml改为text/html
  45. /*inti=9;
  46. pw.print(i);
  47. pw.flush();*/
  48. //2.生成xml文件返回给html页面,此时list里面为单个String
  49. /*StringBuilderxml=newStringBuilder();
  50. List<String>list=newArrayList<String>();
  51. list.add("aaa");
  52. list.add("bbb");
  53. list.add("ccc");
  54. xml.append("<items>");
  55. for(Objecto:list){
  56. xml.append("<item>").append(o).append("</item>");
  57. }
  58. xml.append("</items>");
  59. System.out.println(xml);
  60. pw.print(xml.toString());
  61. pw.flush();*/
  62. //3.生成xml文件返回给html页面,此时list里面为对象类型
  63. /*response.setContentType("text/xml;charset=utf-8");
  64. StringBuilderxml=newStringBuilder();
  65. List<User>list=newArrayList<User>();
  66. Useruser1=newUser();
  67. Useruser2=newUser();
  68. Useruser3=newUser();
  69. user1.setUsername("username1");
  70. user1.setPassword(1);
  71. user2.setUsername("username2");
  72. user2.setPassword(2);
  73. user3.setUsername("username3");
  74. user3.setPassword(3);
  75. list.add(user1);
  76. list.add(user2);
  77. list.add(user3);
  78. xml.append("<items>");
  79. for(inti=0;i<list.size();i++){
  80. xml.append("<itemslist>");
  81. xml.append("<username>").append(list.get(i).getUsername()).append("</username>");
  82. xml.append("<password>").append(list.get(i).getPassword()).append("</password>");
  83. xml.append("</itemslist>");
  84. }
  85. xml.append("</items>");
  86. System.out.println(xml);
  87. pw.print(xml.toString());*/
  88. returnnull;
  89. }
  90. }

辅助类User:

  1. packageaction;
  2. publicclassUser{
  3. privateStringusername;
  4. privateintpassword;
  5. publicStringgetUsername(){
  6. returnusername;
  7. }
  8. publicvoidsetUsername(Stringusername){
  9. this.username=username;
  10. }
  11. publicintgetPassword(){
  12. returnpassword;
  13. }
  14. publicvoidsetPassword(intpassword){
  15. this.password=password;
  16. }
  17. }

indexxml.jsp如下:

  1. <%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
  2. <%
  3. Stringpath=request.getContextPath();
  4. StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  5. %>
  6. <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
  7. <html>
  8. <head>
  9. <basehref="<%=basePath%>">
  10. <title>MyStrutsJQueryJson</title>
  11. <metahttp-equiv="pragma"content="no-cache">
  12. <metahttp-equiv="cache-control"content="no-cache">
  13. <metahttp-equiv="expires"content="0">
  14. <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3">
  15. <metahttp-equiv="description"content="Thisismypage">
  16. <!--
  17. <linkrel="stylesheet"type="text/css"href="styles.css">
  18. -->
  19. <scripttype="text/javascript"src="/S1.2SHJQuery/js/jquery-1.4.2.js"></script>
  20. <scripttype="text/javascript">
  21. //1.jquery单独传递单个参数
  22. /*$(function(){
  23. alert("start");
  24. $.post("testxml.do",{testvalue:$('#test').val()},function(data){
  25. alert(data);
  26. })
  27. })*/
  28. //2.jquery单独传递含单个参数的list,采用的是xml形式
  29. $(function(){
  30. $.post("testxml.do",{testvalue:$('#test').val()},function(data){
  31. varitems=data.getElementsByTagName("item");
  32. alert(items.length);
  33. for(vari=0;i<items.length;i++){
  34. alert(items[i].childNodes[0].nodeValue);
  35. }
  36. })
  37. })
  38. //3.jquery单独传递含对象类型的list,,采用的是xml形式
  39. /*$(function(){
  40. $.post("testxml.do",{testvalue:$('#test').val()},function(data){
  41. varitems=data.getElementsByTagName("itemslist");
  42. //循环输出username和password
  43. for(vari=0;i<items.length;i++){
  44. varchilds=items[i].childNodes;
  45. for(varj=0;j<childs.length;j++){
  46. alert(childs[j].firstChild.nodeValue);
  47. }
  48. }
  49. })
  50. })
  51. */
  52. </script>
  53. </head>
  54. <body>&nbsp;
  55. <formaction="/testxml.do">
  56. <inputtype="button"value="JQuery"id="jquerytest"><br>
  57. <inputtype="text"value="JQuerytest"name="test"id="test">
  58. <fontid="userlogin">登陆</font><spanid="loading"></span>
  59. <pid="result"></p>
  60. </form>
  61. </body>
  62. </html>

2.Struts+JQuery+JSON

TestAction如下:

  1. /*
  2. *GeneratedbyMyEclipseStruts
  3. *Templatepath:templates/java/JavaClass.vtl
  4. */
  5. packageaction;
  6. importjava.io.IOException;
  7. importjava.io.PrintWriter;
  8. importjava.io.UnsupportedEncodingException;
  9. importjava.util.ArrayList;
  10. importjava.util.List;
  11. importjavax.servlet.http.HttpServletRequest;
  12. importjavax.servlet.http.HttpServletResponse;
  13. importnet.sf.json.JSONArray;
  14. importorg.apache.struts.action.Action;
  15. importorg.apache.struts.action.ActionForm;
  16. importorg.apache.struts.action.ActionForward;
  17. importorg.apache.struts.action.ActionMapping;
  18. importform.TestForm;
  19. /**
  20. *MyEclipseStruts
  21. *Creationdate:03-05-2010
  22. *
  23. *XDocletdefinition:
  24. *@struts.actionpath="/test"name="testForm"input="index.jsp"scope="request"
  25. */
  26. publicclassTestActionextendsAction{
  27. /*
  28. *GeneratedMethods
  29. */
  30. /**
  31. *Methodexecute
  32. *@parammapping
  33. *@paramform
  34. *@paramrequest
  35. *@paramresponse
  36. *@returnActionForward
  37. *@throwsUnsupportedEncodingException
  38. */
  39. publicActionForwardexecute(ActionMappingmapping,ActionFormform,
  40. HttpServletRequestrequest,HttpServletResponseresponse)throwsUnsupportedEncodingException{
  41. TestFormtestForm=(TestForm)form;//TODOAuto-generatedmethodstub
  42. response.setContentType("text/json;charset=utf-8");//注意设置为json,如果为xml,则设为xml
  43. /*response.setContentType("text/xml;charset=utf-8");传输xml时要用xml
  44. *response.setCharacterEncoding("utf-8");
  45. **/
  46. System.out.println(testForm.getTestvalue());
  47. //1.struts1.2+JQuery+Json传递list参数,此时list的类型为String
  48. /*List<String>list=newArrayList<String>();
  49. list.add("string1");
  50. list.add("string2");
  51. list.add("string3");
  52. JSONArrayjson=JSONArray.fromObject(list);
  53. try{
  54. PrintWriterout=response.getWriter();
  55. System.out.println(json);
  56. out.print(json);
  57. out.flush();
  58. }catch(IOExceptione){
  59. //TODOAuto-generatedcatchblock
  60. e.printStackTrace();
  61. }*/
  62. //2.struts1.2+JQuery+Json传递Map参数
  63. /*Map<String,String>map=newHashMap<String,String>();
  64. map.put("name1","string1");
  65. map.put("name2","string2");
  66. map.put("name3","string3");
  67. JSONArrayjson=JSONArray.fromObject(map);
  68. try{
  69. PrintWriterout=response.getWriter();
  70. System.out.println(json);
  71. out.print(json);
  72. out.flush();
  73. }catch(IOExceptione){
  74. //TODOAuto-generatedcatchblock
  75. e.printStackTrace();
  76. }*/
  77. //3.传递单个String值
  78. /*Stringsinglepara="{/"name/":'中国'}";//要注意格式
  79. JSONObjectjson=JSONObject.fromObject(test);
  80. try{
  81. PrintWriterout=response.getWriter();
  82. System.out.println(json);
  83. out.print(json);
  84. out.flush();
  85. }catch(IOExceptione){
  86. //TODOAuto-generatedcatchblock
  87. e.printStackTrace();
  88. }*/
  89. //4.struts1.2+JQuery+Json传递User参数
  90. /*Useruser1=newUser();
  91. user1.setPassword(1);
  92. Stringusername="你好";
  93. user1.setUsername(username);
  94. //user1.setUsername(newString(username.getBytes("utf-8"),"iso8859-1"));
  95. JSONObjectjson=JSONObject.fromObject(user1);
  96. try{
  97. PrintWriterout=response.getWriter();
  98. System.out.println(json);
  99. out.print(json);
  100. out.flush();
  101. }catch(IOExceptione){
  102. //TODOAuto-generatedcatchblock
  103. e.printStackTrace();
  104. }*/
  105. //5.struts1.2+JQuery+Json传递list参数,此时list的类型为String
  106. List<User>list=newArrayList<User>();
  107. Useruser1=newUser();
  108. user1.setPassword(1);
  109. user1.setUsername("u1");
  110. Useruser2=newUser();
  111. user2.setPassword(2);
  112. user2.setUsername("u2");
  113. Useruser3=newUser();
  114. user3.setPassword(3);
  115. user3.setUsername("u3");
  116. list.add(user1);
  117. list.add(user2);
  118. list.add(user3);
  119. JSONArrayjson=JSONArray.fromObject(list);
  120. try{
  121. PrintWriterout=response.getWriter();
  122. System.out.println(json);
  123. out.print(json);
  124. out.flush();
  125. }catch(IOExceptione){
  126. //TODOAuto-generatedcatchblock
  127. e.printStackTrace();
  128. }
  129. returnnull;
  130. }
  131. }

struts-config.xml如下:

[c-sharp] view plain copy
  1. <action
  2. attribute="testForm"
  3. input="/index.jsp"
  4. name="testForm"
  5. path="/test"
  6. scope="request"
  7. type="action.TestAction"
  8. validate="false"/>

index.jsp如下:

  1. <%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
  2. <%
  3. Stringpath=request.getContextPath();
  4. StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  5. %>
  6. <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
  7. <html>
  8. <head>
  9. <basehref="<%=basePath%>">
  10. <title>struts+jquery+json</title>
  11. <metahttp-equiv="pragma"content="no-cache">
  12. <metahttp-equiv="cache-control"content="no-cache">
  13. <metahttp-equiv="expires"content="0">
  14. <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3">
  15. <metahttp-equiv="description"content="Thisismypage">
  16. <!--
  17. <linkrel="stylesheet"type="text/css"href="styles.css">
  18. -->
  19. <scripttype="text/javascript"src="/MyStrutsJQueryJson/js/jquery-1.4.2.js"></script>
  20. <scripttype="text/javascript">
  21. /*1.struts1.2+JQuery+Json传递list参数,此时list的类型为String
  22. $(function(){
  23. $("#submitbutton").click(function(){
  24. varparams={testvalue:$('#test').val()};
  25. $.ajax({
  26. url:"test.do",
  27. data:params,
  28. type:'post',
  29. dataType:'json',
  30. success:function(data){
  31. //data值:["string1","string2","string3"]
  32. alert("成功");
  33. alert(data.length);
  34. for(varj=0;j<data.length;j++)
  35. {
  36. alert(data[j]);
  37. }
  38. },
  39. error:function(){
  40. alert("失败");
  41. }
  42. })
  43. })
  44. })*/
  45. //2.struts1.2+JQuery+Json传递Map参数
  46. /*$(function(){
  47. $("#submitbutton").click(function(){
  48. alert("start");
  49. varparams={testvalue:$('#test').val()};
  50. $.ajax({
  51. url:"test.do",
  52. data:params,
  53. type:'post',
  54. dataType:'json',
  55. success:function(data){
  56. //alert(data.name1);//缺点是须知道属性名,在JSONArray下
  57. //迭代循环输出
  58. //data值为:[{"name3":"string3","name1":"string1","name2":"string2"}]
  59. $.each(data[0],function(key,value){
  60. alert(key+""+value);
  61. })
  62. },
  63. error:function(){
  64. alert("失败");
  65. }
  66. })
  67. })
  68. })*/
  69. //3.struts1.2+JQuery+Json传递String参数
  70. /*
  71. $(function(){
  72. $("#submitbutton").click(function(){
  73. varparams={testvalue:$('#test').val()};
  74. alert("start");
  75. $.ajax({
  76. url:"test.do",
  77. data:params,
  78. type:'post',
  79. dataType:'json',
  80. success:function(data){
  81. alert("成功");
  82. alert(data.name);
  83. },
  84. error:function(){
  85. alert("失败");
  86. }
  87. })
  88. })
  89. })*/
  90. //4.struts1.2+JQuery+Json传递User参数
  91. /*$(function(){
  92. $("#submitbutton").click(function(){
  93. varparams={testvalue:$('#test').val()};
  94. $.ajax({
  95. url:"test.do",
  96. data:params,
  97. type:'post',
  98. dataType:'json',
  99. success:function(data){
  100. //data值为:{"password":1,"username":"你好"}
  101. alert("成功");
  102. alert(data.username);
  103. alert(data.password);
  104. },
  105. error:function(){
  106. alert("失败");
  107. }
  108. })
  109. })
  110. })*/
  111. //5.struts1.2+JQuery+Json传递list参数,此时list的类型为User
  112. $(function(){
  113. $("#submitbutton").click(function(){
  114. varparams={testvalue:$('#test').val()};
  115. $.ajax({
  116. url:"test.do",
  117. data:params,
  118. type:'post',
  119. dataType:'json',
  120. success:function(data){
  121. alert("成功");
  122. //data值:[{"password":1,"username":"u1"},{"password":2,"username":"u2"},{"password":3,"username":"u3"}]
  123. /*for(varj=0;j<data.length;j++)
  124. {
  125. alert(data[j].username);
  126. alert(data[j].password);
  127. }*/
  128. $.each(data,function(i){
  129. $.each(data[i],function(key,value){
  130. alert(key+""+value);
  131. })
  132. })
  133. },
  134. error:function(){
  135. alert("失败");
  136. }
  137. })
  138. })
  139. })
  140. </script>
  141. </head>
  142. <body>
  143. 测试输入框:<inputtype="text"id="test"name="hello"><br>
  144. <inputtype="button"name="submitbutton"id="submitbutton"value="提交">
  145. </body>
  146. </html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
系统介绍 根据网络在线考试系统的特点,可以将其分为前台和后台两个部分进行设计。前台主要用于考生注册和登录系统、在线考试、查询成绩以及修改个人资料等;后台主要用于管理员对考生信息、课程信息、考题信息和考生成绩信息等进行管理。 操作注意事项 (1)本系统管理员用户名为:tsoft,密码为:111。 (2)本系统共分为二种操作权限,分别为学生和管理员。  考生:注册和登录系统、在线考试、查询成绩以及修改个人资料。  管理员:对考生信息、课程信息、考题信息和考生成绩信息等进行管理。 (3)如果您忘登录密码,本程序提供了找回密码功能,根据提示操作,成功将找回密码。 (4)添加考试题管理信息时,单选题和多选题必须都添加,否则无法进入该课程考试。 操作流程 首先单击“注册”按钮,注册准考证号和密码,成为本网络在线考生。  考生 单击“登录”导航按钮,进行登录,进入到考生操作页面,如图1.1所示。在该页面中考生可以在线考试、查询成绩以及修改个人资料。 图1.1 考生操作页面  管理员 单击“进入后台”按钮,进行登录,进入到管理员作页面,如图1.2所示。 图1.2 管理员操作页面 (1)单击“管理员信息管理”按钮,对管理员信息进行添加、修改及删除操作。 (2)单击“考生信息管理”按钮,对考生信息进行查看及删除操作。 注意:如果该考生已经考过试,那么该考生的信息无法删除。 (3)单击“考生成绩查询”按钮,对所有考生的成绩进行查询操作。 (4)单击“课程信息管理”按钮,对课程信息进行添加、查看及删除操作。 (5)单击“套题信息管理”按钮,对套题信息进行添加、修改及删除操作。 (6)单击“考试题目管理”按钮,对考试题目信息进行添加、修改及删除操作。 (7)单击“退出后台管理”按钮,退出后台管理操作界面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值