文档章节

2015年创业中遇到的技术问题:11-20

FansUnion
 FansUnion
发布于 2015/05/03 01:27
字数 1019
阅读 12
收藏 0
11.SpringMVC接收参数,冲突。
class LoanBean {
private Double amount;
}

class LoanInfo{
   piavate Money amount;
}

@RequestMapping("/doadd")
public void doAdd(LoanInfo loanInfo, LoanBean loanBean);


json请求发过来,接收amount就遇到了400错误。

解决办法:变量名称不用同一个。

12.HTML下拉列表框选中。
增加的时候,select标签选择了一个值,更新的时候,默认要选中。
2种方法:
执行一个函数:selectOne("creditRate","${loanInfo.creditRate}");

//这种方法太复杂了,不建议使用
function selectOne2(id,value){
  var count = $("#"+id+" option").length;
  for(var i=0;i<count;i++){
  var element=$("#"+id).get(0).options[i];
    if(element.value == value){  
     element.selected = true;  
         break;  
     } 
   }
}
 //这种非常简单
  function selectOne(id,value){
  $("#"+id).val(value);
  }

13.sql查询优先级。
select id,uid, id_card,real_name,status from idcard_info

 where 1=1 and (id_card like '%42%' or real_name like '%42%') and status = 2
 
  order by id desc limit 0,10 
  
  中间的要加括号,

14.分页组件fupage使用过程中发现了一个bug。
  原来是用同步实现分页,郁闷的地方是,需要维护每次请求的pageNo,pageSize,搜索词等。
  后来,自己用了异步实现分页,不需要手动维护pageNo等变量,自带的“记忆”功能。
  
  刚刚发现,有个使用过程中的bug。
  
  流程:访问页面,展示第1页,点击第3页。
  这个地方,再使用“搜索”功能,page是同一个,pageSize是准确的,但是pageNo仍然是3。
  导致了,有搜索结果,但是看不到,因为只有2页。
  
  解决办法:搜索再次发送请求时,指定“pageNo=1”即可。

15.JS函数参数个数不确定。
  formatTime({status},{time},{updateTime});
  updateTime可能是空。
  
  函数实际为,formatTime(1,111,);
  报错了。
  
  //函数,如果参数以“,”结尾,去掉最后1个“,”
  function(full,funName,funArgs) {
//0:@centToYuan(120000)
//1:centToYuan
//2:120000,1
//console.log("0:"+arguments[0]);
//console.log("1:"+arguments[1]);
//console.log("2:"+arguments[2]);
if(funArgs != null && funArgs.lastIndexOf(",")==funArgs.length-1){
console.log(funArgs);
funArgs=funArgs.substr(0,funArgs.length-2);
}
var fn=funName+"("+funArgs+")";
var tdValue=eval(fn);
});

16.JS中的var变量,最好以“;”结尾。
var formatTenderReturnMoney = function(type, amount, principal,
extra_interest) {
var str = "";
return str;
};//这个地方的“分号”不能少啊。
(
  function() {
})();

17.Mybatis的Dao函数重名。
  在java中,函数是可以重名,因为可以“重载”。
  但是,Mybatis映射的select的id,对应Java程序是dao层的函数名字,不能重名。
  这一点,经常会出现。
  比如,下面2个都是更新状态,只是where条件不一样。
 @Update("update p2p_loan_repay set status=#{status} where rid=#{rid} and status=#{oldStatus}")
int updateStatus(@Param("rid")Long rid,@Param("oldStatus")Integer oldStatus,@Param("status")Integer status);
@Update("update p2p_loan_repay set status=#{status} where lid=#{loanId} and no=#{no} and status=#{oldStatus}")
int updateStatusBy(@Param("loanId") Long loanId,@Param("no")Integer no,@Param("oldStatus")Integer oldStatus,@Param("status")Integer status);
解决办法:把下面的一个方法,rename为:
updateStatusByLid。

18.KindEditor和UEditor上传图片有问题。

Spring中已经配置了bean。
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="defaultEncoding" value="UTF-8"></property>  
</bean>

KindEditor中的取不到文件了。

解决办法,配置自定义的MyMultipartResolver
也就是因为这个配置,会让Spring MVC处理request对象,所以在使用KindEditor上传图片的时候,拿到的request都是空的.

只需要自己写一个类继承CommonsMultipartResolver,重写isMultipart方法放过KindEditor上传图片的URL即可.

public class MyMultipartResolver extends CommonsMultipartResolver {
 
    @Override
    public boolean isMultipart(HttpServletRequest request) {
        if(request.getRequestURI().contains("/message/uploadJson")) {
            return false;
        } else {
            return super.isMultipart(request);
        }
    }
}
以上代码实现了一个自定义的MyMultipartResolver继承了CommonsMultipartResolver,重写了isMultipart,放过所有包含/message/uploadJson的请求.

最后在XML配置文件中,使用我们自己的MyMultipartResolver

<bean id="multipartResolver" class="com.kenshiro.MyMultipartResolver">
    <property name="defaultEncoding" value="utf-8"></property>
</bean>


19.KindEditor无法获取值。
KindEditor.ready(function(K) {
editor = K.create('textarea[id="content"]', {
cssPath : prettifyCssPath,
uploadJson : uploadJson,
urlType : 'absolute'
});
prettyPrint();
});
解决办法:获得值之前,需要先调用同步方法“sync”。
editor.sync();
$("#content").val();
感觉挺麻烦的。

20.KindEditor和UEditor上传图片,返回的路径可能是“/image/”这种。
如果Tomcat带项目名称,比如 http://localhost:8080/user/
这个时候无法正常显示图片,真够烦人的。

目前图省事,并且保证兼容性,直接把项目部署在root下。
很多类似的问题,都可以采用这种root部署的方式解决。

© 著作权归作者所有

FansUnion
粉丝 60
博文 858
码字总数 825464
作品 0
丰台
高级程序员
私信 提问
【线上沙龙预告】工程师是否应该参与创业?会遇到哪些问题?

[有鱼线上沙龙] 由有鱼App官方主办,旨在通过最实用、最前沿的话题交流,让更多的技术牛人通过轻量线上互动碰撞出技术灵感,搭建“最有质量”的互联网技术族圈子。第一期话题:工程师是否应该...

PatrickWong
2015/07/22
149
0
【线上沙龙预告】工程师是否应该参与创业?会遇到哪些问题?

[有鱼线上沙龙] 由有鱼App官方主办,旨在通过最实用、最前沿的话题交流,让更多的技术牛人通过轻量线上互动碰撞出技术灵感,搭建“最有质量”的互联网技术族圈子。第一期话题:工程师是否应该...

PatrickWong
2015/07/22
0
0
30天,O2O速成攻略【7.19深圳站】

活动概况 时间:2015年07月19日13:30-16:30 地点:深圳腾讯大厦(南山区科技园科技中一路)2楼多功能厅 主办:APICloud、OneAPM、连接科技 网址:www.apicloud.com 费用:免费 活动背景 移动...

API_Cloud
2015/07/04
927
5
优库的按时间点显示广告数据库大体是怎么设计的

比如我想这样 2015年4月7日到2015年5月29号 每周二,四,六的 9:11-12:21, 18:05-21:20 显示指定广告1 优先级别1 2015年4月8日到2015年4月20号 每天的 10:00-11:00, 18:05-23:20 显示指定广告...

不会武功的猪
2015/04/07
82
1
30天,O2O速成攻略【7.19深圳站】

活动概况 时间:2015年07月19日13:30-16:30 地点:深圳腾讯大厦(南山区科技园科技中一路)2楼多功能厅 主办:APICloud、OneAPM、连接科技 网址:www.apicloud.com 费用:免费 活动背景 移动...

API_Cloud
2015/07/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Oracle SQL语法实例合集

如需转载请注明出处https://my.oschina.net/feistel/blog/3052024 目的:迅速激活Oracle SQL 参考:《Oracle从入门到精通》 ------------------------------------------------------------......

LoSingSang
今天
2
0
增加 PostgreSQL 服务进程的最大打开文件数

https://serverfault.com/questions/628610/increasing-nproc-for-processes-launched-by-systemd-on-centos-7 要在systemd的配置里加才行...

helloclia
今天
2
0
组合模式在商品分类列表中的应用

在所有的树形结构中最适合的设计模式就是组合模式,我们看看常用商品分类中如何使用。 先定义一个树形结构的商品接口 public interface TreeProduct { List<TreeProduct> allProducts(...

算法之名
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部