有一个很奇怪的页面问题!! 我在自己的项目中,当我添加数据的时候!第一次页面没有显示“添加数据成功”,数据库里面有添加的数据,当你第二次添加数据的时候页面就提示了“数据添加成功”,在往后几次都能显示添加成功,可是我从新打开页面还是原来的问题?我检查了我的代码没有错误,到底是哪里的问题呢?请各位给我好好想想下思路 重谢100分! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是ajax么?什么情况下会返回?返回添加失败正常么?异常有规律么?别人机器运行是什么样的?清缓存,重启服务,再测。 恩 ajax! 在蹦出添加成功才返回,异常有规律就是第一次不行,第二次就行了!别人机器也是这样我试了,缓存我也清了。服务我删了重启还是那样 我把Action的代码给你们看看public class SourceAction extends GenericAction{ /** * 属性 */ private String id; private String sourceSetout; private String sourceType; private String sourceWeight; private String sourceVolume; private String sourceContact; private String sourceTelephone; private String sourceMobile; private String sourceRelease; private String[]ids; private List<Source> sourceList; private Source source; private ResultInfo resultInfo;//返回对像 private ISourceService sourceService; public void setSourceService(ISourceService sourceService) { this.sourceService = sourceService; } /** * 转向保存页面 */ //判断返回页面时候是否为空 public String goEdit() throws Exception{ sourceList = new ArrayList<Source>(); List<Source> temp = sourceService.getSources(); //ListFANGFA if(temp == null){ sourceList = new ArrayList<Source>(); }else{ sourceList = sourceService.getSources(); } if (id != null && !"".equals(id)) { source = sourceService.getSource(id); sourceSetout = source.getSourceSetout(); sourceType = source.getSourceType(); sourceWeight = source.getSourceWeight(); sourceVolume = source.getSourceVolume(); sourceContact = source.getSourceContact(); sourceTelephone = source.getSourceTelephone(); sourceMobile = source.getSourceMobile(); sourceRelease = source.getSourceRelease(); } return AppConstants.RETURN_TYPE_FREEMARKER; } /** * 添加信息 */ public String doEdit() throws Exception{ resultInfo = new ResultInfo(); source = new Source(); source.setSourceSetout(sourceSetout); source.setSourceType(sourceType); source.setSourceWeight(sourceWeight); source.setSourceVolume(sourceVolume); source.setSourceContact(sourceContact); source.setSourceTelephone(sourceTelephone); source.setSourceMobile(sourceMobile); source.setSourceRelease(sourceRelease); sourceService.createSource(source);//保存 resultInfo.setSuccess(AppConstants.SUCCESS_YES); resultInfo.setMessage("添加信息成功"); return AppConstants.RETURN_TYPE_JSON; } /** * 根据id删除存货信息 */ public String doDelete() { resultInfo = new ResultInfo(); sourceService.deleteSource(id); resultInfo.setSuccess(AppConstants.SUCCESS_YES); resultInfo.setMessage("删除信息成功!"); return AppConstants.RETURN_TYPE_JSON; } /** *刷新页面 *//* public String myRefresh() throws Exception{ List<Source>temp=sourceService.getSources(); return AppConstants.RETURN_TYPE_FREEMARKER; }*/ public String goSourceList() throws Exception{ sourceList = sourceService.getSources(); return AppConstants.RETURN_TYPE_FREEMARKER; } 我在AJAX的代码给你们看看!$(function(){ $("#submit").click(function() { //调用submit方法,添加保存! var v = do_source_validate(); if(v == true) { do_source_edit(); } }); }) function do_source_validate() { var Setout = $("#sourceSetout").val(); var Type = $("#sourceType").val(); var Weight = $("#sourceWeight").val(); var Volume = $("#sourceVolume").val(); var Contact = $("#sourceContact").val(); var Telephone = $("#sourceTelephone").val(); var Mobile = $("#sourceMobile").val(); var Release = $("#sourceRelease").val(); if(Setout == "") { alert("起止点不能为空!"); return false; } if(Contact == "") { alert("名称不能为空!"); return false; } if(Mobile == "") { alert("手机不能为空!"); return false; } if(Release == "") { alert("发布日期不能为空!"); return false; } return true; } function do_source_edit() { var params=$('#source_edit_form').serialize(); //这里直接就序列化了表单里面的值;很方便 $.ajax({ type:'POST', url:'/Source_doEdit.action', data:params, dataType:'json', //返回值是一个对象 error:function(){ alert("JQuery AJAX Error!"); }, success:function(data){ var success = data.resultInfo.success; var message = data.resultInfo.message; alert(message); if(success == 0) {//操作失败 //window.location.reload(); } if(success == 1) {//操作成功 window.location.href="/Source_goEdit.action"; } } }); } function do_source_deleteByID(id){ if(confirm("你确信删除该数据吗?删除后将不可恢复!")) { $.ajax({ type:'POST', url:'/Source_doDelete.action', data:'id='+id, error:function(){ alert("JQuery AJAX Error!"); }, success:function(data){ var success = data.resultInfo.success; var message = data.resultInfo.message; alert(message); if(success == 0){ } if(success == 1){ window.location.href="/Source_goEdit.action"; } } }); } } /*function myRefresh(){ alert("ok"); var params=$('#source_list_form').serialize(); $.ajax({ type:'POST', url:'/Source_myRefresh.action', data:params, error:function(){ alert("JQuery AJAX Error!"); }, success:function(data){ $("#source").html(data); } }); }*/ //局部刷新 function selectSourceList(){ window.location.href="/Source_goSourceList.action"; } 用java如何获得一个域名的IP地址,求教 如何一次性向数据库插入多条语句? struts2 验证框架失败后,丢失页面数据,怎么解决 Java单例模式(饿汉式)的线程安全问题 jsp 高手请进 欢迎大家+入java群32054369 struts标签 <html:link>中文问题 在线等~~~~~~~ nexus 如何导入已有的maven构件仓库 请问三个正则表达式 请教各位java大佬 急!xfire异常 For input string: "" 在线等,非常紧急!!!获取每个Attribute的response的OutputStream?
public class SourceAction extends GenericAction{
/**
* 属性
*/
private String id;
private String sourceSetout;
private String sourceType;
private String sourceWeight;
private String sourceVolume;
private String sourceContact;
private String sourceTelephone;
private String sourceMobile;
private String sourceRelease;
private String[]ids;
private List<Source> sourceList;
private Source source;
private ResultInfo resultInfo;//返回对像
private ISourceService sourceService;
public void setSourceService(ISourceService sourceService) {
this.sourceService = sourceService;
}
/**
* 转向保存页面
*/
//判断返回页面时候是否为空
public String goEdit() throws Exception{
sourceList = new ArrayList<Source>();
List<Source> temp = sourceService.getSources(); //ListFANGFA
if(temp == null){
sourceList = new ArrayList<Source>();
}else{
sourceList = sourceService.getSources();
}
if (id != null && !"".equals(id)) {
source = sourceService.getSource(id);
sourceSetout = source.getSourceSetout();
sourceType = source.getSourceType();
sourceWeight = source.getSourceWeight();
sourceVolume = source.getSourceVolume();
sourceContact = source.getSourceContact();
sourceTelephone = source.getSourceTelephone();
sourceMobile = source.getSourceMobile();
sourceRelease = source.getSourceRelease();
}
return AppConstants.RETURN_TYPE_FREEMARKER;
}
/**
* 添加信息
*/
public String doEdit() throws Exception{
resultInfo = new ResultInfo();
source = new Source();
source.setSourceSetout(sourceSetout);
source.setSourceType(sourceType);
source.setSourceWeight(sourceWeight);
source.setSourceVolume(sourceVolume);
source.setSourceContact(sourceContact);
source.setSourceTelephone(sourceTelephone);
source.setSourceMobile(sourceMobile);
source.setSourceRelease(sourceRelease);
sourceService.createSource(source);//保存
resultInfo.setSuccess(AppConstants.SUCCESS_YES);
resultInfo.setMessage("添加信息成功");
return AppConstants.RETURN_TYPE_JSON;
}
/**
* 根据id删除存货信息
*/
public String doDelete() {
resultInfo = new ResultInfo();
sourceService.deleteSource(id);
resultInfo.setSuccess(AppConstants.SUCCESS_YES);
resultInfo.setMessage("删除信息成功!");
return AppConstants.RETURN_TYPE_JSON;
}
/**
*刷新页面
*/
/* public String myRefresh() throws Exception{
List<Source>temp=sourceService.getSources();
return AppConstants.RETURN_TYPE_FREEMARKER;
}*/
public String goSourceList() throws Exception{
sourceList = sourceService.getSources();
return AppConstants.RETURN_TYPE_FREEMARKER;
}
$(function(){
$("#submit").click(function() { //调用submit方法,添加保存!
var v = do_source_validate();
if(v == true) {
do_source_edit();
}
});
})
function do_source_validate() {
var Setout = $("#sourceSetout").val();
var Type = $("#sourceType").val();
var Weight = $("#sourceWeight").val();
var Volume = $("#sourceVolume").val();
var Contact = $("#sourceContact").val();
var Telephone = $("#sourceTelephone").val();
var Mobile = $("#sourceMobile").val();
var Release = $("#sourceRelease").val();
if(Setout == "") {
alert("起止点不能为空!");
return false;
}
if(Contact == "") {
alert("名称不能为空!");
return false;
}
if(Mobile == "") {
alert("手机不能为空!");
return false;
}
if(Release == "") {
alert("发布日期不能为空!");
return false;
}
return true;
}
function do_source_edit() {
var params=$('#source_edit_form').serialize(); //这里直接就序列化了表单里面的值;很方便
$.ajax({
type:'POST',
url:'/Source_doEdit.action',
data:params,
dataType:'json', //返回值是一个对象
error:function(){
alert("JQuery AJAX Error!");
},
success:function(data){
var success = data.resultInfo.success;
var message = data.resultInfo.message;
alert(message);
if(success == 0) {//操作失败
//window.location.reload();
}
if(success == 1) {//操作成功
window.location.href="/Source_goEdit.action";
}
}
});
}
function do_source_deleteByID(id){
if(confirm("你确信删除该数据吗?删除后将不可恢复!")) {
$.ajax({
type:'POST',
url:'/Source_doDelete.action',
data:'id='+id,
error:function(){
alert("JQuery AJAX Error!");
},
success:function(data){
var success = data.resultInfo.success;
var message = data.resultInfo.message;
alert(message);
if(success == 0){
}
if(success == 1){
window.location.href="/Source_goEdit.action";
}
}
});
}
}
/*function myRefresh(){
alert("ok");
var params=$('#source_list_form').serialize();
$.ajax({
type:'POST',
url:'/Source_myRefresh.action',
data:params,
error:function(){
alert("JQuery AJAX Error!");
},
success:function(data){
$("#source").html(data);
}
});
}*/
//局部刷新
function selectSourceList(){
window.location.href="/Source_goSourceList.action";
}