表单form中2个submit2个action 和 hibernateTemplate模糊查询/多条件组合复合随机查询的写法

时间:2022-04-05 23:50:15

第一个问题 2个submit2个action


如果想在一个表单中 同时设置两个submit,比如  添加  和查询,  那么自然得设置  2个action,但其实不用设置两个action

只需要通过button设置即可



这种情况弃用 submit标签

<form name="form1" action=" ">

而是  <input type="button"  onclick=" document.form1.action='第一个url地址' ;document.form1.submit() ">

          <input type="button"  onclick=" document.form1.action='第2个url地址' ;document.form1.submit() ">


这样就可以实现了表格的复用 ,一张表单因为   提交button的设置,实现了2个功能,添加和查询,  另外,这样说吗在一个html或JavaScript页面中,是可以通过

document.标签名name属性的方式获得这个标签元素的。



另外,为了实现 hibernateTemplate 多条件组合查询,以及模糊查询,  我采取了以下方式,  


其中注意2点,怎样进行 多条件复合查询的 HQL 语句设置,怎样随机不同条件的语句连接, 最初的  from tablename  where 1=1 这句默认是在是充满了前辈们的智慧;

另外,如果是模糊查询,无法使用  ? 占位符的方式,反正我用不成功,而且也没必要使用,直接 通过 + 变量名 来书写 HQL语句即可,

但特别注意,模糊查询  的   %景%  之外 ,必须加上单引号‘ ’  ,必须写成这样    ‘ %景% ’  才可正常运行。


public List<Emp> query(Emp emp) {//…………………………………………查询
List<Emp> list;

System.out.println("bbbbbbbbbbbbbbbbbbb");
ArrayList alist = new ArrayList();
String hql= "from Emp where 1=1";
if(emp.getAge().length()>0)    //年龄
{
hql=hql+" and age=?";//? 占位符  是不可以外加 ‘ ’  引号或双引号的
alist.add(emp.getAge());
}
if(emp.getEname().length()>0) //姓名  
{
hql=hql+" and ename like '%"+emp.getEname().trim()+"%' ";//  但是,和?占位符不同,  %景%  模糊查询符号之外,必须加上 单引号 ‘  ’  
//模糊查询  的  ‘ %景% ’  之外要多加个单引号,还要注意除空
}
if(emp.getDname().length()>0)   //部门
{
hql=hql+" and Dname like '%"+emp.getDname().trim()+"%'";
 
}