struts2_条件查询、删除、自定义异常
来源:互联网 发布:unity3d 怎么用 编辑:程序博客网 时间:2024/05/24 01:31
1. 条件查询
<1>sql语句生成
String sql = "select * from s_user where 1=1 ";List<Object> params=new ArrayList<Object>();String username = user.getUserName();if (username != null && username.trim().length() > 0) { sql += " and userName like ?"; params.add("%"+username+"%");}String sex = user.getSex();if (sex != null && sex.trim().length() > 0) { sql += " and sex=?"; params.add(sex);}String education = user.getEducation(); if (education != null && education.trim().length() > 0) { sql += " and education=?"; params.add(education);}String isupload = user.getIsUpload(); if ("1".equals(isupload)) { sql += " and filename is not null"; } else if ("2".equals(isupload)) { sql += " and filename is null"; }
<2>参数怎样传递?
创建一个List,在每一次判断时,直接将参数添加到集合中,最后将集合转换成Object[],做为参数传递到query方法中。
QueryRunner runner = new QueryRunner(DataSourceUtils.getDataSource());return runner.query(sql, new BeanListHandler<User>(User.class),params.toArray());
2. 删除操作
<1>修改JSP页面上的链接标签
原标签:
<a href="${pageContext.request.contextPath}/user/list.jsp?userID=15"> <img src="${pageContext.request.contextPath}/images/i_del.gif" width="16" height="16" border="0" style="CURSOR: hand"></a>
使用struts2标签修改:
<1>第一种方式<s:a href="路径"><2>第二种方式<s:a action="" namespace=""> <s:param name="" value=""></s:a><3>第三种方式<s:url>标签来定义一个路径<s:a href="url">来导入url值<s:url namespace="/" action="user_del" var="delUrl"> <s:param name="id" value="%{#u.userID}"/></s:url><s:a href="%{#delUrl}"> <img src="${pageContext.request.contextPath}/images/i_del.gif" width="16" height="16" border="0" style="CURSOR: hand"></s:a>
3. 异常处理
对于action中的操作,出现问题,直接抛出自定义异常。
在struts.xml文件中:
//这就可以让特定的异常,跳转到自定的页面。<global-exception-mappings> <exception-mapping result="login" exception="cn.itcast.user.exception.FindByIdException"> </exception-mapping></global-exception-mappings>
struts2,默认加载的18个拦截器的第一个是exception这个拦截器,它没有做任何操作,直接放行,,只是它将 invocation.invoke()操作使用try-catch进行了处理。
其它的拦截器,或是action只要向外抛出异常,exception拦截器就会将其捕获。
阅读全文
0 0
- struts2_条件查询、删除、自定义异常
- solr查询条件过多异常
- Struts2_自定义验证器
- Struts2_自定义拦截器
- Struts2_自定义转换器
- 数据库多条件自定义查询
- YII中自定义查询条件
- Activiti5 自定义查询语句 TaskQuery查询 条件查询 like查询
- Struts2_声明式异常处理
- solr 查询条件过多异常处理
- Mybatis动态SQL 条件查询,批量删除
- Android SQLite 多条件查询或删除
- 45. Struts2_自定义拦截器
- 19.struts2_ 自定义类型转换
- 29.struts2_自定义拦截器
- 36.Struts2_自定义验证器
- 二次开发初尝试 自定义 查询条件
- 自定义 Azure Table storage 查询过滤条件
- spring原理机制
- Spring Cloud Eureka 入门 (二)服务提供者详解
- Bokeh 使用Basic Glyphs做图
- [第四季]14.字节流转换为字符流并讲解打印流
- Unity将模型显示在UI上面
- struts2_条件查询、删除、自定义异常
- python学习(1)-print与input
- bootstrap-table复选框默认选中。(从数据库获取到对应的状态进行判断是否为选中状态)
- Android酷炫实用的开源框架(UI框架)
- 关于heapsize & heapgrowthlimit
- myeclipse安装SVN 插件
- der pem cer crt key pfx等概念及区别
- Arduino UNO DS3231高精度RTC芯片 制作时钟
- 拒绝无用功,封装一个通用的 PopupWindow