有些东西钻进去没意思,可能这里涉及很多处理,我只能告诉你处理办法。
一般在判断非空的时候,我一般想都不用想,直接
if(!"".equals(obj) && obj != null){
}
所以对于查询的过滤条件,你不要就是通过判断传入参数进行非空判断后 拼装一个sql,要不就是,利用hibernate这种工具封装成几个查询sql方法,同时写一个过滤非空判断方法 如 appendNotNull(过滤条件);
form提交和你自己通过js取值取到的是一样的,你可以用js取一下你的文本框里的值,你会发现值是空的而不是null,所以你在action里面接收到的就是“”了。你用js取值取到的是undifend时,你在action里面接收到的就是null了。
你可以指定什么都不选的话就把null传过去。