记录一 ajax请求 前台无反应 不报错
原因一般就是路径问题,但是发现路径并没有毛病
一开始以为是div最外层没有用form包裹(其实并不需要)
<button type="submit" class="btn bg-olive btn-xs" id="delete" onclick="return trash(${ms.m_id})">删除</button>
// 删除信息的方法
function trash(id) {
alert(id);
$.ajax({
url: '<%=basePath%>/deleteMember?id='+id,
success: function (data) {
// $("body").html(data);
},
error: function () {
alert("错误");
}
})
}
@RequestMapping(value = "/deleteMember")
public String delete(Model model,@RequestParam Integer id) {
System.out.println("test");
memberService.deleteMember(id);
model.addAttribute("message", "删除客户信息成功");
return "forward:showHuiyuanMessage";
}
上面是代码部分,原因是因为@RequestMapping(value = “/Member”)没有在类上做注解,加上RequestMapping后,好了,所以ajax的请求路径变为了url: ‘<%=basePath%>/Member/deleteMember?id=’+id,其中原来类中涉及到的 return “huiyuanxinxi”;转发部分,不需要加Member,因为是在一个类中做请求的。至今不理解为什么要在类上加RequestMapping才能ajax请求到
tip2
document.getElementById获取属性的.value,需要放置再form表单中
<form name="formTest" method="get">
<input type="text" class="form-control input-sm" placeholder="输入员工编号来搜索" name="e_id" id="e_id"></input>
<input type="submit" value="提交" onclick="select()"> </form>
function select(){
alert("select");
var e_id = document.getElementById("e_id").value;
alert(e_id);
document.formTest.action="<%=basePath%>/Employee/showEmloyeeOne?e_id="+e_id;
document.formTest.submit();
//提交
}
//提交表单后刷新页面 window.location.reload(); //刷新页面
// 删除信息的方法
function trash(id) {
$.ajax({
url: '<%=basePath%>/Employee/deleteEmplyoee?id='+id,
success: function () {
// alert("删除成功");
window.location.reload(); //刷新页面
},
error: function () {
// alert("错误");
window.location.reload();
}
})
}
tip3
@RequestParam(value = “e_id”, required = false, defaultValue = “0”) Integer e_id
设置默认值
tip4
左侧搜索框输入111001,按道理应该是加载出来111001的数据,但是最新数据并没有加载到界面上,在右侧是最新数据,如何
function select(){
<%--var m_id = document.getElementById("m_id").value;--%>
<%--alert(m_id);--%>
<%--$.ajax({--%>
<%--url: '<%=basePath%>/Member/showHuiyuanMessage?m_id='+m_id,--%>
<%--success: function (data) {--%>
<%--// $("body").html(data);--%>
<%--alert("成功");--%>
<%--// window.location.reload() //刷新页面--%>
<%--},--%>
<%--error: function () {--%>
<%--alert("错误");--%>
<%--// window.location.reload() //刷新页面--%>
<%--}--%>
<%--})--%>
alert("select");
var m_id = document.getElementById("m_id").value;
alert(m_id);
document.teste.action="<%=basePath%>/Member/showHuiyuanMessage?m_id="+m_id;
document.teste.submit();
}
最终选择了屈服,没有使用ajax的方式去调用,使用代码提交的方式,存在问题就是,无论你写的action是什么,提交的都是最开始页面加载的函数 使用ajax的话又会出现页面无法加载的问题。
tip5
<c:forEach items="${commodities}" var="commodities" varStatus="status">
<tr>
<%--<c:if test="${(status.count-1)%4==0}">--%>
<%--<tr>--%>
<%--</c:if>--%>
<td><img src="${commodities.c_picture}" style="width: 120px;height: 120px" ><br/>
${commodities.c_name}<br/>${commodities.c_sellprice}<br/>${commodities.c_place}<br/></td>
<%--<c:if test="${(status.count)%4==0}">--%>
<%--</tr>--%>
<%--</c:if>--%>
<td><img src="${commodities.c_picture}" style="width: 120px;height: 120px" ><br/>
${commodities.c_name}<br/>${commodities.c_sellprice}<br/>${commodities.c_place}<br/></td>
<td><img src="${commodities.c_picture}" style="width: 120px;height: 120px" ><br/>
${commodities.c_name}<br/>${commodities.c_sellprice}<br/>${commodities.c_place}<br/></td>
<td><img src="${commodities.c_picture}" style="width: 120px;height: 120px" ><br/>
${commodities.c_name}<br/>${commodities.c_sellprice}<br/>${commodities.c_place}<br/></td>
</tr>
</c:forEach>
想让代码部分每出现四个,提供一个tr标签 换行
<c:forEach items="${commodities}" var="commodities" varStatus="status">
<c:if test="${(status.count-1)%4==0}">
<tr>
</c:if>
<td><img src="${commodities.c_picture}" style="width: 120px;height: 120px" ><br/>
${commodities.c_name}<br/>${commodities.c_sellprice}<br/>${commodities.c_place}<br/></td>
<c:if test="${(status.count)%4==0}">
</tr>
</c:if>
</c:forEach>
//判断非空
<c:if test="${not empty orderList.s_money}">
¥${orderList.s_money}
</c:if>
//判断空的
<c:if test="${empty orderList.s_money}">
¥${orderList.s_money}
</c:if>
1,int 类型 直接使用==就可以
<c:if test="${sl.chc_status == 1}"> <td>未指派</td> <c:if>
2,char 类型 需要对应的ASCII码
例如:
0对应的是48 ,1对应的是49 ,2对应的是50
例:
<c:if test="${sl.chc_status == 49}"> <td>未指派</td> <c:if>
tip7 对应mysql数据库插入datetime类型数据
两种方式
一种是用格式化的方式
DateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String punchTime = simpleDateFormat.format(date);//格式化后的时间
另外一种是使用import java.sql.Timestamp;包下的Timestamp类型
Date date = new Date();
Timestamp timeStamp = new Timestamp(date.getTime());
tip8 date类型转换为查询月份
Date date = order.getS_date();
Calendar calendar = Calendar.getInstance(); //应该是一个单例模式写的
calendar.setTime(date); //设置日期
int monthDate = calendar.get(Calendar.MONTH); //Calendar.MONTH是从0开始的
monthDate+=1;