分享

struts2.1.8版如何使用ajax

 Ethan的博客 2011-05-25
struts2.1.8版如何使用ajax
2010-07-20 15:32

1.将struts2-dojo-plugin-2.1.8.1.jar加入lib中
2.在需要使用标签的jsp文件里写上<%@taglib prefix="sx" uri="/struts-dojo-tags" %>
3.在<head>标签里写上<sx:head/>


之后我们就可以开始使用struts2的ajax标签了

需注意的事项
1、需引入struts2-dojo-plugin-2.1.8.1.jar
2、页面标签的变化如下:
ajax.jsp
Java代码
  1. <%@ page language="java" pageEncoding="UTF-8"%>   
  2. <%@ taglib prefix="s" uri="/struts-tags"%>   
  3. <%@ taglib prefix="sx" uri="/struts-dojo-tags"%><!-- 注意 -->   
  4.   
  5. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">   
  6. <html>   
  7.    <head>         
  8.      <title>Ajax Demo</title>   
  9.      <sx:head/><!-- 注意 -->   
  10.    </head>   
  11.      
  12.    <body>    
  13. <h1>Ajax Dmeo:</h1>   
  14. <div id="show">一个div</div>   
  15. <s:form namespace="/demo" action="ajax!testAjax" method="post"><!-- 注意 -->   
  16.      <s:textfield name="name"></s:textfield>   
  17.      <sx:submit value="修改上面div的值" targets="show"></sx:submit><!-- 注意 -->   
  18. </s:form>   
  19.    </body>   
  20. </html>  


Java代码
  1. package cn.ibeans.demo.web.action;   
  2.   
  3. import org.apache.log4j.Logger;   
  4. import org.apache.struts2.convention.annotation.Namespace;   
  5. import org.apache.struts2.convention.annotation.Result;   
  6. import org.apache.struts2.convention.annotation.Results;   
  7.   
  8. import com.opensymphony.xwork2.ActionSupport;   
  9.   
  10. @Namespace("/demo")   
  11. @Results({   
  12.     @Result(name="ok",location="ajaxResult.jsp")   
  13. })   
  14. public class AjaxAction extends ActionSupport {   
  15.     private static Logger log= Logger.getLogger(AjaxAction.class);   
  16.     private String data;   
  17.   
  18.     public String getData() {   
  19.         return "服务器的返回值:"+data;   
  20.      }   
  21.   
  22.     public void setData(String data) {   
  23.         this.data = data;   
  24.      }   
  25.        
  26.     public String testAjax() throws Exception{   
  27.          log.info("ajax 调用成功!");   
  28.         return "ok";   
  29.      }   
  30.   
  31.     @Override  
  32.     public String execute() throws Exception {   
  33.          log.info("ajax 调用成功!");   
  34.         return super.SUCCESS;   
  35.      }   
  36.        
  37.        
  38. }  


ajaxResult.jsp:
Java代码
  1. <%@ taglib prefix="s" uri="/struts-tags" %>   
  2.   
  3. <%   
  4.      request.setAttribute("decorator", "none");   
  5.      response.setHeader("Cache-Control","no-cache"); //HTTP 1.1   
  6.      response.setHeader("Pragma","no-cache"); //HTTP 1.0   
  7.      response.setDateHeader ("Expires", 0); //prevents caching at the proxy server   
  8.      System.out.println("ajaxResult.jsp is called");   
  9. %>   
  10.   
  11. Result:   <s:property value="data"/><br/>  

这样ajaxResult.jsp的内容将会出现在ajax.jsp的id="show"的div中

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多