struts2实现不刷新页面执行action
前言
在jsp中有一些动作的执行不适合刷新页面来执行,比如点赞。一般在jsp中可以利用ajax实现这个功能,下面是一个不刷新页面来提交表单,数据或者单纯执行action的例子。
开始
首先在jsp中加入代码,在需要触发action的部分写入如下代码:
<input id="name" type="text">
<input type="button" value="ok" onclick="javascript:clickButton();" clientidmode="Static">
这个动作将id为name的数据传入后台,clientidmode=”Static”这个选项可以防止更改文本框内容后仍然提交以前的内容。这个action触发的js代码如下
<script type="text/javascript">function clickButton(){ var url = 'ajaxRequest.action';var params = {name:eval(document.getElementById('name')).value};jQuery.post(url, params, callbackFun, 'json');}function callbackFun(data){alert(data.result);}
</script>
在上述代码中的函数由上面的button触发,其中var url是你的触发的动作名称+.action,这个动作名称在struts.xml中设定。var params中是要传递的参数, name:eval(document.getElementById(‘name’)).value是获取id为name的内容并且赋值给变量name,jQuery.post(url, params, callbackFun, ‘json’);则是将数据post传递到后台,其中当参数返回时会调用callbackFun这个函数显示返回的result这个变量,这个可以直接使用java中的getter获得。
后台的函数如下:
package com.teamghz.action;public class AjaxExampleAction {private String name;private String result;// ajax请求参数赋值public void setName(String name) {this.name = name;}// ajax返回结果public String getResult() {return result;}public String execute() {this.result = "Hello! " + this.name + ".";System.out.println("hereh" + this.name);return "success";}
}
这个函数获得前端传入的name并且将其赋值给result,前段根据getter方法或者这个数据
strtus.xml配置如下
<package name="ajax" extends="json-default"><action name="ajaxRequest"class="com.teamghz.action.AjaxExampleAction"><result type="json"></result></action>
</package>
这样就可以完成不刷新页面调用action的功能了。
struts2实现不刷新页面执行action相关推荐
- ajax返回不刷新页面,Jquery ajax不刷新页面提交action取得返回值
页面采用回调函数function(data) 处理后台返回的结果 a标签onclick事件触发加入秒杀 前台function addproduct(id){ var mprice=document.g ...
- struts2 ajax请求发现执行action两次原因
struts2中使用json插件执行ajax处理时,如果方法名是get方法的时候,方法会莫名其妙的执行两次. 原因: struts2 中JSON的原理是在ACTION中的get方法都会序列化,所以前面 ...
- jsp页面加载时自动执行action
2012-01-17 13:50 470人阅读 评论(0) 收藏 举报 比如当我进入首页时,就要将数据库中的一些数据加载到welcome.jsp页面中,但是刚进入页面时,是没有执行action的,所以 ...
- VUE 返回上一页 不刷新页面、重复进入同一页面created重复执行、每次进入页面时都执行created、vue单页面多路由,前进刷新,返回不刷新
每次进入页面时都执行created.前进刷新,返回不刷新 思路: 利用 keep-alive与vue-router配合使用 ,判断哪些页面需要每次进入刷新,哪些页面不需要每次进入刷新: keepAli ...
- jsp页面,使用Struts2标签,传递和获取Action类里的参数,注意事项。s:a actions:iterators:paramognl表达式...
在编写SSH2项目的时候,除了使用<s:form>表单标签向Action类跳转并传递参数之外,很更多时候还需要用到<s:a action="XXX.action" ...
- Struts2——学习(5):页面跳转
2019独角兽企业重金招聘Python工程师标准>>> 一,说到页面,记得在总体介绍中,说到Struts2比Struts1的一方面优势就是它支持更多的视图技术(Freemarker, ...
- php防止恶意频繁刷新页面或form提交
php防止恶意频繁刷新页面或form提交 很多方法:(以下仅简单方法的简单思路,对于防止菜鸟"黑客"足矣): 1.检测referer来源地址是否为本站.($_SERVER['HTT ...
- php ajax 点击后刷新当前页面,ajax请求值后返回会刷新页面?
模板 控制器 模型 我用$.post提交表单,如果登录成功直接将信息保存到session,如果失败返回失败原因. 我是在模态框上写的表单,把失败原因显示在模态框上.但是返回后会自动刷新并关闭模态框. ...
- BJUI接受TabID实现添加或编辑后自动刷新页面
场景 借助于BJUI框架,不管是添加还是编辑,都要共用同一个页面,执行同一个save方法. 参照: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/ ...
最新文章
- iOS开发 贝塞尔曲线UIBezierPath(后记)
- 02-24 面向对象--方法重载、隐藏
- 经典面试题(42):以下代码将输出的结果是什么?
- “发明在商业上获得成功”对专利法22条第三款有关创造性规定的影响
- 无惧海量并发,运维准点下班全靠它
- 多线程、多平台环境中的跟踪 - 使用 log4j 和 UNIX 命令来挖掘跟踪数据
- Activity实现 高亮显示活动节点,和所有已完成过的节点
- 机器视觉——鱼眼相机成像模型
- Spring Boot 整合监听器
- php未定义常量破解,如何使PHP未定义的常量注意到错误
- ES 新增字符串方法
- dataframe分组并求平均
- 2017百度秋招真题笔试之十字架
- Android 10(Q)GMS(cts/vts/gts)认证总结
- 摄影测量与遥感专业英语词汇
- 酒吧空间怎样量身打造
- qq空间有密码怎么看里面的相册
- 有4K电视,还需要单独的4K播放机吗?
- ExoPlayer播放器剖析(五)ExoPlayer对AudioTrack的操作
- java 德文转码_web开发中的JAVA字符转码