spring的使用-补充
Posted liuxuelin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring的使用-补充相关的知识,希望对你有一定的参考价值。
1.bigDecimal
@Column(precision = 23, scale = 2) // 小数据点后保留两位,整体精度是23位 precision:精度
private BigDecimal price; // 订单价格
2.在结果视图中,type=redirectAction:表示跳转到另一个action,与当前action要在同一个名称空间下
3.工程重新部署后会覆盖tomcat中原来的项目,上传的文件会丢失,解决方法:将上传的文件放在别的文件夹中,配置虚拟路径访问:
exlipse中虚拟路径的配置:
1. 双击servers窗口中的tomcat
2. 切换到modules窗口
3. 点击add external web module
其中path为虚拟路径
document base为实际访问路径
4.<td><img class="img" src=‘<s:property value="#c.cusImgSrc"/>‘> </td> //<s:property>标签还可以写在引号里面
5.session一级缓存中两个不同对象不能有相同的oid
6.bootstrap模态框的弹出:
<button type="button" class="btn btn-primary btn-sm" data-toggle="modal" data-target="#myModal" >客户详情</button>
其中两个重要的样式:
data-toggle="modal"
data-target="#myModal" //表示根据id引用页面上的标签
7.采用fastjson,将对象转为json数据时:
A.如果存在循环引用,fastjson有自我保护机制:不会对同一个对象重复解析,这样带来的问题是可能获取不到想要的数据:解决方法
1)采用过滤对象过滤属性,避免对象互相调用
2)传入参数,取消循环引用
//返回数据转json,过滤属性(通过属性过滤对象)
List<Order> orders=customerService.findOrders(customerId);
PropertyFilter filter=new PropertyFilter() { //通过这个接口过滤属性
@Override
public boolean apply(Object arg0, String fieldName, Object arg2) {
if("orders".equals(fieldName)){ //过滤orders字段,避免互相调用
return false;
}
return true;
}
};
String json=JSONObject.toJSONString(orders,filter,SerializerFeature.DisableCircularReferenceDetect); //SerializerFeature.DisableCircularReferenceDetect这个常量取消循环引用
B.jsonObject能实现jsonArray的功能,jsonObject更加通用
8.location.herf="${pageContext.request.contextPath}/customer/delCustomer?id="+customerId; //可通过这种方式发送同步请求
9.ssh整合中分页查询的问题
hibernateImplate对象不易实现分页查询,解决方法:
在dao层获取到getsessionFactory(),通过getCurrentSession();获取session对象,实现分页查询:
hibernateImplate中查询结果为一个值时,也会返回list集合,且这个值为Long类型;
List<Long> count = (List<Long>) this.getHibernateTemplate().find("select count(*) from Order o where o.customer.id=?", customerId);
发布地址
在Java中,右键--refactor--rename //可批量修改变量名或者方法名
10.json对象的参数传递问题:
异步请求中,响应的json数据,当获取这个json数据中的字符串后,当作参数传递时:
如:data.orderNum,data为通过响应的json,通过data获取到字符串orderNum,这里的字符串orderNum如果本身为数字,可以作为参数传递,如果本身不是数字如“ab”,则需要经过以下处理:
1. JSON.stringify(orderList[i].orderNum) //这是将json字符串转化为js字符串
2. 或者在参数两边加两个引号 :"orderList[i].orderNum"
这样处理后才可以当作参数传递
11.参数传递中要注意的问题:
参数传递中先通过拦截器调用root中的set方法
private void setId(int id){
this id=id;
}
然后在方法中通过域对象获取
servletActionContext.getRequest.getParameter("id");
如果两种获取参数的方式都有,均会执行并获取参数,如果id为字符串,调用上面的set方法会出错!
以上是关于spring的使用-补充的主要内容,如果未能解决你的问题,请参考以下文章