在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%>" onsubmit="return false">
注:onsubmit="return false"這個東西是在<form>表單中不提交,爲了在頁面中的JS驗證後由JS來提交