精华内容
下载资源
问答
  • @Action(value = "/alarmAction/toIndex", results = { @Result(name = "index", type = "dispatcher", location = "/WEB-INF/jsp/view/alarm.jsp") })  public String toTemplateIndex() {  return "index"; ...
    function loadTableData(currentpage){ 
    
    var sDate = $("#startDateSearch").val();
    var eDate = $("#endDateSearch").val();
    if(sDate!=''&&eDate!=''&&dateCompare(sDate,eDate)){
    alertInfo("查询起始日期不能晚于终止日期");

    return;
    }

    var requUrl="http://127.0.0.1:8080/oss/alarmAction/getAlarmList.action";
    //alert(requUrl);
    $.ajax({
    type : 'post',
    url : requUrl,
    data: {//这里的参数action由于继承了acttion类,同名接收,只要有set
    resourceId:$("#resourceId").val(),
    alarmCount:$("#alarmCount").val(),
    leavel:$("#leavel").val(),
    state:$("#state").val(),
    sDate:$("#startDateSearch").val(),
    eDate:$("#endDateSearch").val(),
    sidx:sortId,
    sord:sortType,
    //page:currentpage,
    rows:pageSize
    },
    dataType : 'json',
    success : function(data) {
    //alert(data);
    $("#listmac").text("");
    var dataList =data;
    //alert(dataList);
    var size = data.length;
    //alert(size);
    var startRowNo = data.startRowNo;
    var liHtml="";
    for(var i=0;i<size;i++){
    liHtml+='<tr>';
    liHtml+='<td><span class="field">'+i+'</span></td>';
    liHtml+='<td><span class="field">'+data[i].comments+'</span></td>';
    liHtml+='<td><span class="field">'+data[i].triggerid+'</span></td>';
    liHtml+='<td><span class="field">'+data[i].error+'</span></td>';
    liHtml+='<td><span class="field">'+data[i].expression+'</span></td>';
    liHtml+='<td><span class="field">'+data[i].flags+'</span></td>';
    liHtml+='<td><span class="field" title="'+data[i].status+'" style="width: 400px;text-overflow: ellipsis;white-space: nowrap;display: inline-block;overflow: hidden;">'+dataList[i].id+'</span></td>';
    liHtml+='<td><span class="field">'+data[i].priority+'</span></td>';
    liHtml+='<td><span class="field">'+data[i].insertTime+'</span></td>';
    liHtml+='</tr>';
    }
    $("#listmac").append(liHtml);
    initCurrTablePager(data); 
    }
    });

    }

    //打印所有实体 工具BaseAction

    package com.certus.action.base;

    import java.io.IOException;

    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    import org.apache.log4j.Logger;
    import org.apache.struts2.convention.annotation.ParentPackage;
    import org.apache.struts2.interceptor.ServletRequestAware;
    import org.apache.struts2.interceptor.ServletResponseAware;
    import org.apache.struts2.json.annotations.JSON;

    import com.alibaba.fastjson.serializer.SerializerFeature;
    import com.certus.constant.Constants;
    import com.certus.util.config.SessionInfo;
    import com.opensymphony.xwork2.ActionSupport;

    /**
    * @ClassName   类  名   称:   BaseAction.java
    * @Description 功能描述:       基础Action
    * @author      创  建   者:   <A HREF="wanghao@certusnet.com.cn">wanghao</A> 
    * @date        创建日期:   2014-1-26下午3:02:59
    */
    @ParentPackage("default")
    public class BaseAction extends ActionSupport implements ServletRequestAware, ServletResponseAware {

        private static final long serialVersionUID = 1L;
        private static final Logger logger = Logger.getLogger(BaseAction.class);

        protected static final String DATE_FORMAT_DEFAULT = "yyyy-MM-dd";
        protected static final String DATE_FORMAT_WITH_SECONDS = "yyyy-MM-dd HH:mm:ss";
        protected HttpServletRequest request;
        protected HttpServletResponse response;


        protected int page;
        protected int rows;
        protected String sidx;
        protected String sord;
        // 取证视频存储名称
        protected String fileStoreName;
       

        public String getFileStoreName() {
            return fileStoreName;
        }

        public void setFileStoreName(String fileStoreName) {
            this.fileStoreName = fileStoreName;
        }

        @Override
        public void setServletResponse(HttpServletResponse response) {
            this.response = response;
        }

        @Override
        public void setServletRequest(HttpServletRequest request) {
            this.request = request;
        }

        @JSON
        protected int getPage() {
            return page;
        }

        public void setPage(int page) {
            this.page = page;
        }

        @JSON
        protected int getRows() {
            return rows;
        }

        public void setRows(int rows) {
            this.rows = rows;
        }

        @JSON
        protected String getSidx() {
            return sidx;
        }

        public void setSidx(String sidx) {
            this.sidx = sidx;
        }

        @JSON
        protected String getSord() {
            return sord;
        }

        public void setSord(String sord) {
            this.sord = sord;
        }

        protected void write(Object info) {
            write(info, DATE_FORMAT_DEFAULT);
        }

        protected void writePlain(String text) {
            response.setContentType("text/plain;chartset=UTF-8");
            try {
                response.getWriter().write(text);
            } catch (IOException e) {
                logger.error(e.getMessage(), e);
                throw new RuntimeException(e);
            }
           
        }

        protected void write(Object info, String pattern) {
            response.setContentType("text/json;chartset=UTF-8");
            String json = "";
           
            try {
                /*if (info instanceof String) {
                    json = info.toString();
                } else {*/
                json = com.alibaba.fastjson.JSON.toJSONStringWithDateFormat(info, pattern, SerializerFeature.WriteMapNullValue);
                // }
                response.getWriter().write(json);
            } catch (Exception e) {
                logger.error(e.getMessage(), e);
                throw new RuntimeException(e);
            }
        }


    }


    //应用

    package com.certus.oss.action;


    import java.util.HashMap;
    import java.util.Map;

    import javax.annotation.Resource;

    import org.apache.struts2.convention.annotation.Action;
    import org.apache.struts2.convention.annotation.Result;

    import com.certus.oss.common.BeanConstants;
    import com.certus.oss.service.IAlarmService;
    import com.certus.oss.service.IResourceTypeService;

    /**
    * @ClassName   类  名   称: TemplateAction.java
    * @Description 功能描述: 模板action
    * @author      创  建   者: <A HREF="wanglz@certusnet.com.cn">wanglz</A>
    * @date        创建日期: 2015年2月6日下午5:17:56
    */
    public class AlarmAction extends BaseAction {

        private static final long serialVersionUID = 1L;
    //    @Resource
    //    private IOperateLogService service;
        private String resourceId;
        private String alarmCount;
        private String leavel;
        private String state;
        private String sDate;
        private String eDate;

        @Resource(name = BeanConstants.ALARM_SERVICE)
    private IAlarmService alarmService;
       
       
        public IAlarmService getAlarmService() {
    return alarmService;
    }

    public void setAlarmService(IAlarmService alarmService) {
    this.alarmService = alarmService;
    }

    public static long getSerialversionuid() {
    return serialVersionUID;
    }



        public String getResourceId() {
    return resourceId;
    }

    public void setResourceId(String resourceId) {
    this.resourceId = resourceId;
    }

    public String getAlarmCount() {
    return alarmCount;
    }

    public void setAlarmCount(String alarmCount) {
    this.alarmCount = alarmCount;
    }

    public String getLeavel() {
    return leavel;
    }

    public void setLeavel(String leavel) {
    this.leavel = leavel;
    }

    public String getState() {
    return state;
    }

    public void setState(String state) {
    this.state = state;
    }

    public String getsDate() {
    return sDate;
    }

    public void setsDate(String sDate) {
    this.sDate = sDate;
    }

    public String geteDate() {
    return eDate;
    }

    public void seteDate(String eDate) {
    this.eDate = eDate;
    }

    @Action(value = "/alarmAction/toIndex", results = { @Result(name = "index", type = "dispatcher", location = "/WEB-INF/jsp/view/alarm.jsp") })
        public String toTemplateIndex() {
            return "index";
        }

        @Action(value = "/alarmAction/getAlarmList")
        public void getOperateLog() {
           Map<String,String> param = new HashMap<String,String>();
           param.put("resourceId", resourceId);
           param.put("alarmCount", alarmCount);
           param.put("leavel", leavel);
           param.put("state", state);
           param.put("sDate", sDate);
           param.put("eDate", eDate);
            write(alarmService.getalarmByWebSevice(param));
        }

    }



    public List<AlarmType>  getalarmByWebSevice(Map<String,String> param) ;
    展开全文
  • 前端jsp页面$.ajax({ type : “POST”, //提交方式 url : “password?action=change”,//路径 data : { “oldPassword” : oldPassword, “newPassword”:newPassword,

    前端jsp页面

    $.ajax({
    type : “POST”, //提交方式
    url : “password?action=change”,//路径
    data : {
    “oldPassword” : oldPassword,
    “newPassword”:newPassword,
    “rPassword”:rPassword
    },//数据,这里使用的是Json格式进行传输
    dataType:’json’,
    success : function(data) {//返回数据根据结果进行相应的处理
    if(data.msg==”修改成功”){
    layer.alert(data.msg);
    window.location.href=”login.jsp”;
    }else{
    layer.tips(data.msg, “#oldPassword”, {
    tips: [2, ‘#F70909’],
    time: 2000,
    tipsMore: true
    });
    }
    },
    error:function (XMLHttpRequest, textStatus, errorThrown) {
    layer.alert(XMLHttpRequest.status);
    layer.alert(XMLHttpRequest.readyState);
    layer.alert(textStatus);
    }
    });

    servlet 后端代码

    private Object passwordChange(HttpServletRequest request,
    HttpServletResponse response)throws ServletException, IOException {
    HttpSession session = request.getSession();
    Object currentUserType = session.getAttribute(“currentUserType”); //获取参数
    String oldPassword =
    request.getParameter(“oldPassword”);//获取参数

        String newPassword = request.getParameter("newPassword");//获取参数
        Connection con = null;
        try {
            con = dbUtil.getCon();
    
            if("admin".equals((String)currentUserType)) {
                Admin admin = (Admin)(session.getAttribute("currentUser"));
                System.out.println("admin.getPassword="+admin.getPassword());
                if(oldPassword.equals(admin.getPassword())) {
                    System.out.println("进入dao层");
                    userDao.adminUpdate(con, admin.getAdminId(), newPassword);
                    admin.setPassword(newPassword);
                    response.setContentType("application/json;charset=utf-8");//返回json类型的
                    String json="{\"msg\":\"修改成功\"}";
                    response.getWriter().write(json);
                    response.getWriter().flush();
                    response.getWriter().close();
                } else {
                    response.setContentType("application/json;charset=utf-8");
                    String json="{\"msg\":\"原密码输入错误,请重新!\"}";
            response.getWriter().write(json);//写到前端
                    response.getWriter().flush();
                    response.getWriter().close();
    
                }
            } else if("dormManager".equals((String)currentUserType)) {
                DormManager manager = (DormManager)(session.getAttribute("currentUser"));
                if(oldPassword.equals(manager.getPassword())) {
                    System.out.println("managerId="+manager.getDormManagerId());
                    userDao.managerUpdate(con, manager.getDormManagerId(), newPassword);
                    response.setContentType("application/json;charset=utf-8");
                    String json="{\"msg\":\"修改成功\"}";
                    response.getWriter().write(json);
                    response.getWriter().flush();
                    response.getWriter().close();
                } else {
                    response.setContentType("application/json;charset=utf-8");
                    String json="{\"msg\":\"原密码输入错误,请重新!\"}";
                    response.getWriter().write(json);
                    response.getWriter().flush();
                    response.getWriter().close();
                }
            } else if("student".equals((String)currentUserType)) {
                Student student = (Student)(session.getAttribute("currentUser"));
                if(oldPassword.equals(student.getPassword())) {
                    userDao.studentUpdate(con, student.getStudentId(), newPassword);
                    student.setPassword(newPassword);
                    response.setContentType("application/json;charset=utf-8");
                    String json="{\"msg\":\"修改成功\"}";
                    response.getWriter().write(json);
                    response.getWriter().flush();
                    response.getWriter().close();
                } else {
                    response.setContentType("application/json;charset=utf-8");
                    String json="{\"msg\":\"原密码输入错误,请重新!\"}";
                    response.getWriter().write(json);
                    response.getWriter().flush();
                    response.getWriter().close();
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                dbUtil.closeCon(con);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return result;
    }
    
    展开全文
  • } } struts.xml配置 /info.jsp info.jsp为显示信息页面 info.jspjsp页面,对于与安卓客户端交互jsp页面而言,尽量略去不必要的html代码,只需要保留控制编码格式的代码和之间的处理代码,这样就避免了在安卓...

    1.客户端网页代码

    检测用户名是否唯一

    function createRequest(url) {

    http_request = false;

    if (window.XMLHttpRequest) { // 非IE浏览器

    http_request = new XMLHttpRequest(); //创建XMLHttpRequest对象

    } else if (window.ActiveXObject) { // IE浏览器

    try {

    http_request = new ActiveXObject("Msxml2.XMLHTTP"); //创建XMLHttpRequest对象

    } catch (e) {

    try {

    http_request = new ActiveXObject("Microsoft.XMLHTTP"); //创建XMLHttpRequest对象

    } catch (e) {

    }

    }

    }

    if (!http_request) {

    alert("不能创建XMLHttpRequest对象实例!");

    return false;

    }

    http_request.onreadystatechange = getResult; //调用返回结果处理函数

    http_request.open('GET', url, true); //创建与服务器的连接

    http_request.send(null); //向服务器发送请求

    }

    function getResult() {

    if (http_request.readyState == 4) { // 判断请求状态

    if (http_request.status == 200) { // 请求成功,开始处理返回结果

    document.getElementById("toolTip").innerHTML = http_request.responseText; //设置提示内容

    document.getElementById("toolTip").style.display = "block"; //显示提示框

    } else { // 请求页面有错误

    alert("您所请求的页面有错误!");

    }

    }

    }

    function checkUser(userName) {

    if (userName.value == "") {

    alert("请输入用户名!");

    userName.focus();

    return;

    } else {

    //createRequest('http://10.65.9.181:8090/ajax/checkUser.jsp?user='+userName.value);

    createRequest('http://10.65.9.181:8090/ajax/checkUser.action?user='

    + userName.value);

    }

    }

    cellpadding="0" cellspacing="0" background="images/bg.gif">

    cellspacing="0">

    用户名:

    id="username" size="32">

    checkBt.jpg

    height="23" style="cursor: hand;"

    onClick="checkUser(form1.username);">

    密码: 确认密码: E-mail:

    size="45">

    src="images/registerBt.jpg">

    2.服务器端代码

    Action类的代码

    package com.action;

    import java.util.Map;

    import com.opensymphony.xwork2.ActionContext;

    import com.opensymphony.xwork2.ActionSupport;

    import com.xzy.UserDAO;

    public class CheckUserAction extends ActionSupport{

    private String user;

    public String findUserByName(){

    String info = null;

    UserDAO userdao = new UserDAO();

    if(userdao.findUserByName(user)){

    //info="用户名已经被注册";

    Map map = (Map)ActionContext.getContext().get("request");

    map.put("info", "用户名已经被注册");

    return "success";

    }else{

    //info="用户名可以注册";

    Map map = (Map)ActionContext.getContext().get("request");

    map.put("info", "用户名可以注册使用");

    return "fail";

    }

    }

    public String getUser() {

    return user;

    }

    public void setUser(String user) {

    this.user = user;

    }

    }

    struts.xml配置

    /info.jsp

    info.jsp为显示信息页面

    info.jsp是jsp页面,对于与安卓客户端交互的jsp页面而言,尽量略去不必要的html代码,只需要保留控制编码格式的代码和之间的处理代码,这样就避免了在安卓客户端显示不必要的垃圾代码,且提高了执行效率,降低了服务器负载。

    数据库截图:

    2fcfb22aadef98879bd6d19b992c1ec9.png 

    最终效果图:

    展开全文
  • ajaxaction进行数据交互

    千次阅读 2017-08-15 14:42:23
    一、ajax传递单个或多个元素到action  function unique(val){  var errorMsg = document.getElementById("tasknameid") ;  if(val == null || val == ""){  errorMsg.innerHTML = "  请输入任务名...

    一、ajax传递单个或多个元素到action

        function unique(val){
        var errorMsg = document.getElementById("tasknameid") ;
        if(val == null || val == ""){
            errorMsg.innerHTML = "<font color=\"red\">&nbsp;&nbsp;请输入任务名!</font>";
        }else{
            $.ajax({
                type:"post",
                url:"${pageContext.request.contextPath}/manage/task!unique.action",
                data:{
                    taskname:val                     //此处可以传递单个或者多个元素,左边为bean类的属性taskname,右边为传递的值val
                },
                dataType:"json",
                success:function (data){
                    //alert(data) ;
                    if(data != null){
                        errorMsg.innerHTML = "<font color=\"red\">&nbsp;&nbsp;" + data + "</font>";    
                    }else{
                        errorMsg.innerHTML = " " ;
                    }
                }
            }) ;
        }
    }

    action接收时直接通过e.getTaskname() 接收即可【e为基类】

    二、ajax传递对象到action

    function insertTemplet(){
        var taskname = document.getElementById("taskname").value ;
        var taskType = document.getElementById("taskType").value ;
        var termList = document.getElementById("termList").value ;
        var testInfo = document.getElementById("testInfoAjax").value ;
        var compilerid = document.getElementById("compilerid").value ;
        var tasktempl = {"tasktempl.taskname":taskname, "tasktempl.taskType":taskType, "tasktempl.termList":termList, "tasktempl.testInfo":testInfo, "tasktempl.compilerid":compilerid};
        $.ajax({
            type:"post",
            url:"${pageContext.request.contextPath}/manage/task!insertTemplet.action",
            data:tasktempl,                                           //传递定义好的taskTempl对象到action中
            dataType:"json",
            success:function (data){
                if(data != null){
                    alert(data) ;
                }else{
                    alert("添加模板失败") ;
                }
            }
        }) ;    
    }

    action接收ajax传递的tasktempl 对象:

    private TaskTemplet tasktempl = new TaskTemplet() ;   //用于taskAdd.jsp页面中json传递参数

    public TaskTemplet getTasktempl() {
            return tasktempl;
        }

        public void setTasktempl(TaskTemplet tasktempl) {
            this.tasktempl = tasktempl;
        }

    这样就可以直接接收了

    遗留问题:此处无法通过

    data:{
                    tasktempl:tasktempl
                },

    的形式传递对象

    三、action传递对象到ajax

    action方法:

        public String executeCompiler() throws Exception{
            Map map = exeCompiler() ;
            String moduleCase = (String)map.get("moduleCase") ;
            String jarDexFile = (String)map.get("jarDexFile") ;
            
            dataMap.put("errorMsg", errorMsg) ;    
            dataMap.put("jsonString", moduleCase) ;
            dataMap.put("jarDexFile", jarDexFile) ;                         //传递map到js页面中

            
            return "executeCompiler" ;

    struts配置:    }

                <result name="executeCompiler" type="json">
                    <param name="root">dataMap</param>
                </result>

    js接收:通过data.属性的方式接收

    $.ajax({         //在编译器列表文本框处进行编译
                        type:"post",
                        url:"${pageContext.request.contextPath}/manage/task!executeCompiler.action",
                        data:{
                            compilername:compilerName
                        },
                        dataType:"json",
                        success:function (data){
                            if(data.errorMsg != null){
                                alert(data.errorMsg) ;
                            }else{
                                document.getElementById("filepathid").value=data.jarDexFile ;
                                var newWin = window.showModalDialog("${pageContext.request.contextPath}/manage/task!toTestInfo.action?jsonString="+data.jsonString,window," center:yes") ;
                                
                                if(newWin!="[object]" || newWin != null){
                                    document.getElementById("testInfoAjax").value=newWin;
                                    var testInfo = document.getElementById("testInfoAjax").value;
                                    if(testInfo == "undefined" || testInfo == null || testInfo == ""){
                                        alert("请选择【测试case】!") ;
                                    }
                                }
                            }
                        }
                    }) ;

    如果要传递单个数据,则struts配置如下:

                <result name="unique" type="json">
                    <param name="root">errorMsg</param>
                </result>

    js接收时仍通过data接收,其实就是errorMsg








    展开全文
  • 浅析Ajax异步交互

    2017-01-18 23:05:13
    Ajax(“Asynchronous Javascript And XML”)异步的JavaScript和XML。Google建议使用XMLHttpRequest对象来创建动态性非常强的web界面:当用户开始在Google的搜索框中键入字符时,JavaScript会把这些字符传送至服务器...
  • 下面给出一段代码示例:Action中代码1. 通过输出流的方式输出json// //设置相应的格式utf-8 HttpServletResponse res= ServletActionContext.getResponse(); res.setContentType("text/html;charset=utf-8"); ...
  • Struts2与Ajax数据交互

    2018-01-27 15:31:00
     ajax请求在项目中常常使用,今天就平时掌握的总结一下,关于使用ajax请求到Struts2中的action时,前台页面与后台action之间的数据传递交互问题。  这里我主要记录下自己所掌握的几种方式。可以根据自己平时项目的...
  • 1、页面结构 <table> <form method="post" action="UserListServlet" id="selectName">
  • ajax交互Struts2的action

    2013-08-22 16:42:27
    //createRequest('http://10.65.9.181:8090/ajax/checkUser.jsp?user='+userName.value); createRequest('http://10.65.9.181:8090/ajax/checkUser.action?user=' + userName.value); } } <!-- #toolTip { ...
  • Jquery 的ajax 异步请求 与Structs2 Action 之间的交互
  • struts2 和 ajax交互

    2015-08-19 16:02:33
    struts2的配置 ...jsp的代码如下,定义了一个流type="stream",返回的是文件,textStream function captcha() { var xmlhttp; if(window.XMLHttpRequest){ xmlhttp = new XMLHt
  • 目录 ... 案例2:修改操作 提示:本文使用的是原生的ajax和js ...form th:method="post" name="fm" th:action="@{../cusRegPath/regi}" onsubmit="return checkForm()"> <div class="content2"> &...
  • struts2 ajax 交互

    千次阅读 2010-11-12 22:04:00
    今天就将下struts2与Ajax交互实现的一个小例子:实现动态检验用户是否在数据库中存在第一个是注册页面:register.jsp <%
  • 标签设置了action="请求url" ,button那里用js进行监听,点击触发ajax方法,将前台数据传到后台Controller,然后页面不跳转,执行ajax的success回调方法,结果页面总是会出乎意料地跳转到action请求的url。...
  • 1、Ajax发送方法send(data),格式必须为 “name=123”的形式 ,否则会报错:net.sf.json.JSONException: null object, Servlet中无法获取到页面传过来的值。 2、在Servlet中通过request.getParameter("data")获得...
  • //与jsp页面交互,可能不通过数据库 createRequest('http://10.65.9.181:8090/ajax/checkUser.action?user='+ userName.value);//与struts交互,通过后台处理。 注意此处的写法。   2.服务器端代码   ...
  • 用原生的ajax进行校验js代码:
  • ajax与后端交互

    2020-07-22 14:27:13
    一、首先在前端创建ajax ... url:root+'/app/desktop/getData.action', async:false, success:function (data,type) { var obj = eval('('+data+')'); news = obj.newsCount; report = obj.reportCount;
  • jsp页面 &lt;%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%&gt; &lt;!DOCTYPE html PUBLIC "-//W3C//DTD ...
  • ajax与后台交互

    2010-10-27 11:49:00
    ajax与后台交互
  • 简单记录下,方便自己日后的使用 ...jsp页面: //校验手机号码绑定客户-输入手机号就校验 function checkTel(){ var userType = $('#userType').val(); var mobile = ""; if(userType == '8'){ ...
  • 一、SpringMVC与Ajax交互一般情况下,Controller中方法返回值类型有两种1、String直接跳转到某View界面2、Void不需要进行页面跳转,直接访问下一个方法返回String类型跳转界面的参数接收和传递在SpringMVC参数传递与...
  • 3.前台jsp页面使用jquery方式与后台交互 //登陆验证 $(function(){ $("#loginForm").submit(function(){ var userName = $("#username").val(); var pwd = $("#pwd").val(); var authcode = $("#authcode")....
  • 1.jsp页面 "java" contentType="text/html; charset=utf-8"   pageEncoding="utf-8"%>  "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">      "text/javascri
  • ajax与struts中action交互实现方法

    千次阅读 2016-01-03 21:49:48
    前提,导入json-lib-xxx.jar和struts2-json-plugin-xxx.jar ...一、jsp核心代码 js/jquery.js"> $(document).ready(function() { $("#btn").click(function() { var rate = $('#rate').attr("value"); $.a
  • Struts2中 ajax交互

    2015-12-30 15:19:21
    Struts.xml配置文件 ... /ajax.jsp inputStream AjaxAction package com.test.action; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.io
  • Ajax与SpringMvc交互

    千次阅读 2014-12-14 14:14:57
    ajax是较为常用的页面技术,应用面级广,springmvc作为新生代的框架,也对ajax做了很好的支持,并吸收了dwr等众多ajax开发框架的优点,使用起来也极为简单,一睹为快把!

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,764
精华内容 3,505
关键字:

actionajaxjsp交互