在hibernate的Dao中映射写的sql语句。条件的判断要完整!!!
如: 且对象之间的比较要用.equals("")来判断
如果判断不完整的话,删除操作后跳转不到原来显示的主页面
public String getSearchSql(QueryModel m)
{
if(m==null)return "";
String sql=" where 1=1 ";//条件永远成立(where 1=1这个东西前后要加空格,要不会报错)
HouseQuery query=(HouseQuery)m;
//注:对象之间比较不能用“=”号,<,>号也不能用
if(query.getAreaId()!=null && !query.getAreaId().equals(""))
{
//数据库里的字段是varchar,就要加单引号'',而整形就不用
sql+="and area.id='"+query.getAreaId()+"'";
}
if(query.getIsAgent()!=null && !query.getIsAgent().equals(""))
{
sql+="and isAgent="+query.getIsAgent();
}
if(query.getHouseType()!=null && !query.getHouseType().equals(""))
{
sql+="and houseType="+query.getHouseType();
}
return sql;
}
1:如果要跳转的话首先要经action(不同的情况,不同的解决办法)。今天遇见的这个问题。
2:在页面中定义action,然后在<form>表单中把定义的action的值传到<form>表单中
如:在页面中***.jsp中
<%
String sAction="house!addUserHouse.action";
%>
在<form>表单中将这个定义的action得到
<form method="post" name="myform" action="<%=sAction%>" οnsubmit="return false">
注:οnsubmit="return false"这个东西是在<form>表单中不提交,为了在页面中的JS验证后由JS来提交