jsp页面到struts2 action传值问题
jsp页面text框中什么都不选.但到action中应该是null不知道为什么会出现""这种情况.求解!...
jsp页面text框中什么都不选.但到action中应该是null 不知道为什么会出现 " " 这种情况.求解!
展开
3个回答
展开全部
有些东西钻进去没意思,可能这里涉及很多处理,我只能告诉你处理办法。
一般在判断非空的时候,我一般想都不用想,直接
if(!"".equals(obj) && obj != null){
}
所以对于查询的过滤条件,你不要就是通过判断传入参数进行非空判断后 拼装一个sql,要不就是,利用hibernate这种工具封装成几个查询sql方法,同时写一个过滤非空判断方法 如 appendNotNull(过滤条件);
一般在判断非空的时候,我一般想都不用想,直接
if(!"".equals(obj) && obj != null){
}
所以对于查询的过滤条件,你不要就是通过判断传入参数进行非空判断后 拼装一个sql,要不就是,利用hibernate这种工具封装成几个查询sql方法,同时写一个过滤非空判断方法 如 appendNotNull(过滤条件);
追问
用的mybatis,谢谢了,看来我也只能在action中处理了
追答
mybatis没用过,想来应该和ibatis差不多。 select * from table where 动态添加 过滤条件,我记得有notNull的判断,如果为空就 跳过,不为空就增加过滤条件, 在action,你只要定义一个对象,接受页面所有的值,然后将这个对象传入到ibatis配置文件就可以了
展开全部
form提交和你自己通过js取值取到的是一样的,你可以用js取一下你的文本框里的值,你会发现值是空的而不是null,所以你在action里面接收到的就是“”了。你用js取值取到的是undifend时,你在action里面接收到的就是null了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以指定什么都不选的话就把null传过去。
追问
我是直接submit的提交的.文本框中什么都没有选.传过去应该是Null.但不知道为什么会成了" "
追答
看了你的问题,好像都是id是“”,其他属性为null,你看看是不是主键不允许为空的原因。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询