java区分添加和修改方法
2015-11-27 11:12
375 查看
近期遇到一个问题,就是当添加和修改两个方法,都写入controller(控制层)同一个方法时,该怎么区分呢,于是乎,我就想了一个方法,其实很简单,在这里跟大家分享一下。
要想区分添加和修改两个方法,肯定是得写判断,这是毋庸置疑的,那就看这个判断是如何写了
注释:这里取得flag值是前台传过来的,后面会把前台代码贴出来,大家一看就明白了;然后就是判断flag是否为空,空值就走添加方法,否则走修改方法,简单明了。
2.前台代码
注释:前台就更简单了,只需在form表单里写个input隐藏域,然后给flag赋值,后台在判断,就大功告成了。
这段代码的核心就是name的这块,如果你把他写成name=config_id,那肯定是不行的,所以很多时候,还是需要换个角度想问题,如果有什么不周之处,欢迎大家给我留言。
要想区分添加和修改两个方法,肯定是得写判断,这是毋庸置疑的,那就看这个判断是如何写了
public String detailSave(){ try{ String flag=request.getParameter("flag"); if(StringUtils.isEmptyTrim(flag)){ this.deviceConfigService.detailAdd(detail); }else{ detail.setConfig_id(flag); this.deviceConfigService.detailUpdate(detail); } this.addActionMessage("配置保存成功"); }catch(SPMException e){ logger.error(e.getMessage(),e); detailPreSave(); this.addActionError("配置保存失败,请重试"); return INPUT; } return SUCCESS; }
注释:这里取得flag值是前台传过来的,后面会把前台代码贴出来,大家一看就明白了;然后就是判断flag是否为空,空值就走添加方法,否则走修改方法,简单明了。
2.前台代码
<input type="hidden" name="flag" value="${detail.config_id }">
注释:前台就更简单了,只需在form表单里写个input隐藏域,然后给flag赋值,后台在判断,就大功告成了。
这段代码的核心就是name的这块,如果你把他写成name=config_id,那肯定是不行的,所以很多时候,还是需要换个角度想问题,如果有什么不周之处,欢迎大家给我留言。
相关文章推荐
- java处理InputStream和字节数组互转
- Java AOP的实现机制
- JAVA与.NET的相互调用——通过Web服务实现相互调用
- Java基础之深入理解泛型
- javaweb学习总结(三十九)——数据库连接池
- jdk环境变量配置
- MyEclipse界面窗口布局恢复
- spring的自定义schema
- 解决启动Eclipse后提示’Running android lint’错误的问题
- spring依赖注入
- mybatis简单sql使用java注解而不是xml配置
- java date和时间戳转化
- Intellij IDEA 14的注册机(Java版)
- java Io梳理
- java 日期格式化
- eclipse 中spring项目配置hibernate-tools
- RestTemplate实践
- Java NIO (七) FileChannel
- Spring 定时器
- struts2文件上传下载原理