最近在做一个Struts2+ibatis+mysql的项目,项目有一个页面要求,明细部分的是可以动态添加或删除的,比如:页面在初始化时,只有一条数据,当点击页面上的增加一行按钮,通过JS实现了 新增加一行,然后编辑这行的数据,点击提交按钮后,后台对新增行的数据进行验证,验证不通过后,会在原页面显示错误信息,并要求新增行的数据被保留,我的验证方法是写在Action中的,没有用验证框架。希望高人能给于指教,最好能够贴出相应的代码,比较急,在线等~~!!
解决方案 »
- Struts2的问题
- tiles配置的问题
- 我更换了WEB-INF\classes的类,怎么样才能让我不重新启动Tomcat5.5 而使用新更换的类
- 一个3级分类的程序,想做成树,请问怎么做?
- 大量符号报错:缺少“{”或“}”
- 配置文件WEB_INF和web.xml文件名固定吗?
- 请问如何实现jsp的在线人数统计
- jsp初学问题,请各位高手不吝赐教。在线等待!一定给分!
- 各位高手,能帮我解释以下语句的含义吗?关于Vector一个很菜的问题!
- 关于Excel导入问题,求指教!!!
- 在jquery easyui中,datagrid中striped属性是做什么的?
- mybatis generator plugin问题
能说的明白点么,因为以前没有接触过AJAX,还有使用AJAX的话,会走后台的验证么?我是小白,还希望各位大大能够讲解的明白点,谢谢了
AJAX 不是那么难的.用JS新增一行会了吧.那就从提交按钮开始,button ,==> onclick=func() 定义一个JS 函数 func会了吧.
然后就传值 到ACTION.这个action要返回 NONE 就是不跳转页面.
function xhr() {
var xhr;
try {
if (window.ActiveXObject) {
for ( var i = 8; i; i--) {
try {
if (i == 2) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
} else {
xhr = new ActiveXObject("Msxml2.XMLHTTP." + i + ".0");
// xhr.setRequestHeader("Content-Type","text/xml");
xhr.setRequestHeader("charset", "UTF-8");
}
break;
} catch (e) {
xhr = false;
}
}
} else if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
if (xhr.overrideMimeType) {
xhr.overrideMimeType('text/xml');
}
}
} catch (e) {
xhr = false;
alert("您的浏览器不支持ajax");
}
return xhr;
}
function Ajax(callBackFunc, method, url, async, data, eFunc) {
var req = xhr();
if (req) {
req.onreadystatechange = function() {
if (req.readyState == 4 && req.status == 200) {
if (callBackFunc) {
callBackFunc(req);
}
} else {
if (req.readyState == 4 && req.readyState > 200) {
if (eFunc) {
eFunc(req);
}
}
}
if (req.readyState == 4) {
req.onreadystatechange = {};
}
};
method = method.toUpperCase();
req.open(method, url, async);
if (method == "POST") {
req.setRequestHeader("Content-type",
"application/x-www-form-urlencoded");
}
if (data) {
req.send(data);
} else {
req.send(null);
}
}
}
这是我的方法.把这两个带上.在func里这样调用:
var url = "struts2.action?param1="+param1; 你的action的URL
url=encodeURI(url); 编码一次不会乱码.
var data=null; 或者在这里添加传递的参数.
Ajax(parseSend, 'POST', url, null, data, null);回调函数.
function parseSend(xmlhttp) {
if (xmlhttp.responseText) {
验证成功了.进行一些操作.
} else {
验证失败了,你可以 在这里写出错时信息显示在哪,想写什么都行.
}
}