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

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>

参考资料:http://my.oschina.net/kenshiro/blog/160634

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部署的方式解决。

时间: 2024-07-30 13:37:32

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

2015年创业中遇到的技术问题:121-130

121.PHP中的.和->有啥区别呢? $this->,调用类的方法用"->". ".",是啥意思呢?(当然,可以表示字符串连接.) 122.Thinkphp判断是否登录了. <if condition="$Think.session.user == 'fansunion'">{$Think.session.user}</if> <present name="$Think.session.

2015年创业中遇到的技术问题:71-80

71.微信接入盲点.每次请求,都要校验参数是否正确. 72.Nginx配置,proxy_pass的最后一个"/"加上还是很有必要.server{listen 80;server_name xiaolei.fansunion.cn;location / {proxy_pass http://localhost:9080/AboutXiaoLei/;}}英文分号";"也是必须的额. 73.Putty,XShell,免登录.之前一直用Putty连接远程linux主机,经常

2015年创业中遇到的技术问题:131-140

131.ZendStudio复制文件到远程. 同时复制目录和文件,不起作用. 同时复制普通文件.php和.htaccess,不起作用. 遇到这种情况,只能单个复制了. 132.Thinkphp部署之后,模版文件找不到. 模板不存在:./Application/Home/View/Index/index.html Windows下开发,开启了调试模式. Controller名称:IndexController. 视图文件目录名称:index,文件名称index.html. 部署到Linux上之后,

2015年创业中遇到的技术问题:81-90

81.Apache开启伪静态. 伪静态,之前了解过一些. 今天,搭建问答网站WeCenter的时候遇到了一点问题. http://ask.jiutianniao.com/?/home 期望URL是http://ask.jiutianniao.com/home 改进步骤: 第1步:Apache开启伪静态 第2步:在WeCenter的根目录,新建.htaccess文件 <IfModule mod_rewrite.c> RewriteBase / RewriteEngine On RewriteCo

2015年创业中遇到的技术问题:21-30

21.高速清空表中的数据. 有个ip库的表.数据量几十万. 想在开发阶段,清空. 通过mysql-front和mysql控制台.都删除失败. 反应很慢.还有诸如lock失败的错误. 解决的方法:复制表的创建结构,比方 CREATE TABLE `ip_info` ( `ipbegin` varchar(20) DEFAULT NULL, `ipend` varchar(20) DEFAULT NULL, `zone` varchar(50) DEFAULT NULL, `company` var

2015年创业中遇到的技术问题:31-40

31.Linux下启动Mysql有N种方式. service mysql start; service mysqld strat; 上述2种方式是,mysql已经安装作为了服务,有的叫做"mysql",有的叫做"mysqld". 如果没有服务,还得手动启动. 比如,/usr/bin/mysqld start &. 一段时间不搞,记忆已经模糊了. o(︶︿︶)o 唉 32.用户表-索引-类型. user表:uid,name A类用户:1开头,10001 B类用

2015年创业中遇到的技术问题:101-110

101.计算机中丢失 msvcr110.dll. 下载一个VS的补丁,http://www.microsoft.com/zh-CN/download/details.aspx?id=30679. 参考资料:http://jingyan.baidu.com/article/4f7d57129fa86e1a201927de.html 102.ecshop安装后出现Strict Standards: Only variables should be passed. 查看对应部分的代码为 $tag_se

2015年创业中遇到的技术问题:1-10(乱码-SpringMVC-jquery-JSON等)

1.数据库表名重构. 之前受PHP等程序的影响,数据库表名喜欢用数据库的名称作为前缀,比如"p2p_account". 在经过大量的实践之后,发现Java程序中,基本没有这个必要. so,从今天开始,数据库表明不再加上多余的前缀了. Java的Dao和Mybatis的xml,大量用到了数据库表名,我当然不笨,想到的是Eclipse的replace替换功能. 把"p2p_"替换成""就可以了. 替换之前,随机抽样,选几个文件,看看是不是有"

2015年创业中遇到的技术问题:91-100

91.PHP日志记录方法.  error_log("error info"); 92.weiphp图灵机器人bug,需要修改3个地方. 问题描述:启用聊天插件后,发现在微信客户端上不管输入什么内容,回复的都是预设好的内容,而无法使用图灵机器人的功能. 问题分析:经过查看源码,发现 Addons\Chat\Model\WeixinAddonModel.class.php 文件有一处 Bug,在 function _tuling($keyword) 中,有一个判断图灵返回值的地方:[mw_