## 前台向后台传递
### 前端代码:
#### 列表页,会纯显示时间
<td class="tc">
<fmt:formatDate value="${item.endTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
</td>
#### 修改功能,会将纯显示的时间转换成可操作的时间
<td class="tc">
<a data-name="modifyActivity" data-endTime="${item.endTime}"
class="btn btn-info btn-mini" href="javascript:void(0)">修改</a>
</td>
js代码:
$("a[data-name='modifyActivity']").on('click',function(){
var endTime=$(this).attr("data-endTime");
var json = {
"endTimeStr": endTime,
};
//里面调用了ajax方法
loadPage(ctxPath + "/admin/activity/to-addOrUpdate-activity",
ctxPath + "/admin/activity/to-addOrUpdate-activity",json);
});
java代码:
@RequiresAuthentication
@RequestMapping({"to-addOrUpdate-activity"})
public String toAddOrUpdateActivity(String orgName, Activity activity, Model model) {
if (!"null".equals(activity.getStartTimeStr())&&!"".equals(activity.getStartTimeStr())&&null!=activity.getStartTimeStr()) {
try {
//因为前台的type为datetime-local的input只能接受特定格式的字符串才能显示(yyyy-MM-ddThh:mm),因此修改前台传回的时间的样式.
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);
SimpleDateFormat sdf2= new SimpleDateFormat("yyyy-MM-dd hh:mm");
Date startTime = sdf.parse(activity.getStartTimeStr());
Date endTime = sdf.parse(activity.getEndTimeStr());
activity.setStartTimeStr(sdf2.format(startTime).replace(" ","T"));
activity.setEndTimeStr(sdf2.format(endTime).replace(" ","T"));
} catch (ParseException e) {
e.printStackTrace();
}
}
model.addAttribute("orgName", orgName);
model.addAttribute("activity", activity);
return "activity/addOrUpdateActivity";
}
#### 新增或修改页(addOrUpdateActivity.jsp),修改会回显内容.
<input type="datetime-local" id="endTime" name="endTime" class="textInput" value="${activity.endTimeStr}" οninput="hideErrMsg('endDateErr')"/>
<c:if test="${activity.title eq null}">
<a id="save" class="btn btn-primary" href="javascript:void(0)">
<i class="icon-ok"></i>保存
</a>
</c:if>
<c:if test="${activity.title ne null}">
<a id="update" class="btn btn-primary" href="javascript:void(0)">
<i class="icon-ok"></i>修改
</a>
</c:if>
#### js方法:
$("#save").click(function () {
if (validator.form()) {
add();
}
});
---
endTimeStr是endTime的字符串形式,endTime在java中属于Date类。
function add() {
function saveOrUpdate() {
var endTime = $("#endTime").val();
var json = {"endTimeStr": endTime};
ajaxRequest(ctxPath + "/admin/activity/addOrUpdate", json, function (data) {
if (data.code == 1) {
showSuccess("新增图片成功", function () {
loadPage(ctxPath + "/admin/activity/list", null, jsonData);
closeAllLayer();
});
} else if ("error" == data.msg) {
showError("新增图片出错");
} else if ("failure" == data.msg) {
showError("新增图片失败");
} else {
showError(data.msg);
}
}, function () {
showError("新增图片出错");
});
}
};
### 后台java代码:将String类型的时间转换成Date,然后存入数据库中
@RequestMapping({"addOrUpdate"})
public JsonResponse addOrUpdateActivity(Activity activity, Model model) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
try {
activity.setStartTime(sdf.parse(activity.getStartTimeStr().replace("T", " ")));
activity.setEndTime(sdf.parse(activity.getEndTimeStr().replace("T", " ")));
Integer orgActId=null;
if("".equals(activity.getId())||null==activity.getId()){
orgActId = activityService.insert(activity);
}else{
activityService.updateActivity(activity);
}
model.addAttribute("activity", activity);
if (orgActId != null) {
return new JsonResponse(JsonResponse.CODE_SUCCESS, "ok");
}else {
return new JsonResponse(JsonResponse.CODE_SUCCESS, "修改成功");
}
} catch (ParseException e) {
e.printStackTrace();
}
return new JsonResponse(JsonResponse.CODE_FAILURE, "新增或修改活动失败");
}
### 前端代码:
#### 列表页,会纯显示时间
<td class="tc">
<fmt:formatDate value="${item.endTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
</td>
#### 修改功能,会将纯显示的时间转换成可操作的时间
<td class="tc">
<a data-name="modifyActivity" data-endTime="${item.endTime}"
class="btn btn-info btn-mini" href="javascript:void(0)">修改</a>
</td>
js代码:
$("a[data-name='modifyActivity']").on('click',function(){
var endTime=$(this).attr("data-endTime");
var json = {
"endTimeStr": endTime,
};
//里面调用了ajax方法
loadPage(ctxPath + "/admin/activity/to-addOrUpdate-activity",
ctxPath + "/admin/activity/to-addOrUpdate-activity",json);
});
java代码:
@RequiresAuthentication
@RequestMapping({"to-addOrUpdate-activity"})
public String toAddOrUpdateActivity(String orgName, Activity activity, Model model) {
if (!"null".equals(activity.getStartTimeStr())&&!"".equals(activity.getStartTimeStr())&&null!=activity.getStartTimeStr()) {
try {
//因为前台的type为datetime-local的input只能接受特定格式的字符串才能显示(yyyy-MM-ddThh:mm),因此修改前台传回的时间的样式.
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);
SimpleDateFormat sdf2= new SimpleDateFormat("yyyy-MM-dd hh:mm");
Date startTime = sdf.parse(activity.getStartTimeStr());
Date endTime = sdf.parse(activity.getEndTimeStr());
activity.setStartTimeStr(sdf2.format(startTime).replace(" ","T"));
activity.setEndTimeStr(sdf2.format(endTime).replace(" ","T"));
} catch (ParseException e) {
e.printStackTrace();
}
}
model.addAttribute("orgName", orgName);
model.addAttribute("activity", activity);
return "activity/addOrUpdateActivity";
}
#### 新增或修改页(addOrUpdateActivity.jsp),修改会回显内容.
<input type="datetime-local" id="endTime" name="endTime" class="textInput" value="${activity.endTimeStr}" οninput="hideErrMsg('endDateErr')"/>
<c:if test="${activity.title eq null}">
<a id="save" class="btn btn-primary" href="javascript:void(0)">
<i class="icon-ok"></i>保存
</a>
</c:if>
<c:if test="${activity.title ne null}">
<a id="update" class="btn btn-primary" href="javascript:void(0)">
<i class="icon-ok"></i>修改
</a>
</c:if>
#### js方法:
$("#save").click(function () {
if (validator.form()) {
add();
}
});
---
endTimeStr是endTime的字符串形式,endTime在java中属于Date类。
function add() {
function saveOrUpdate() {
var endTime = $("#endTime").val();
var json = {"endTimeStr": endTime};
ajaxRequest(ctxPath + "/admin/activity/addOrUpdate", json, function (data) {
if (data.code == 1) {
showSuccess("新增图片成功", function () {
loadPage(ctxPath + "/admin/activity/list", null, jsonData);
closeAllLayer();
});
} else if ("error" == data.msg) {
showError("新增图片出错");
} else if ("failure" == data.msg) {
showError("新增图片失败");
} else {
showError(data.msg);
}
}, function () {
showError("新增图片出错");
});
}
};
### 后台java代码:将String类型的时间转换成Date,然后存入数据库中
@RequestMapping({"addOrUpdate"})
public JsonResponse addOrUpdateActivity(Activity activity, Model model) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
try {
activity.setStartTime(sdf.parse(activity.getStartTimeStr().replace("T", " ")));
activity.setEndTime(sdf.parse(activity.getEndTimeStr().replace("T", " ")));
Integer orgActId=null;
if("".equals(activity.getId())||null==activity.getId()){
orgActId = activityService.insert(activity);
}else{
activityService.updateActivity(activity);
}
model.addAttribute("activity", activity);
if (orgActId != null) {
return new JsonResponse(JsonResponse.CODE_SUCCESS, "ok");
}else {
return new JsonResponse(JsonResponse.CODE_SUCCESS, "修改成功");
}
} catch (ParseException e) {
e.printStackTrace();
}
return new JsonResponse(JsonResponse.CODE_FAILURE, "新增或修改活动失败");
}