用ajax提交form可以和好的返回异常信息进行提示,免得做全局的异常处理,这样的话不必throw Exception
,直接像正常一样返回错误信息即可,此时结合response.getWriter().print(strJsonMsg);用这个的时候最好返回void,或者return null,否则print的信息会被覆盖。
一般用一个对象封装返回信息,返回前把这个对象转化为jsonobject,然后转化为String打印给前台(bean--->jsonobject--->String)
throw new Exception("最多允许添加:"+((BigDecimal)userNum.get("SET_USER_NUM")).intValue()+"个子账户");异常里面抛出的信息可以e.getMessage()直接获取到
<form method="post" id="operateUserAddForm">
<div class="htbh">
<div class="fl">
<label for="" class="ul_form_label w130 pr5"><font color="red">* </font>姓名:</label>
<input class="date_search_input230" type="text" name="man" id="cusUser_MAN"/>
</div>
</div>
<!--button 开始-->
<div class="tc mb20 mt20 cb">
<!-- 获取可选角色个数,为使能/失能 保存按钮服务-->
<%-- <input type="hidden" id="role_notice" value='<s:property value="#request.datas.size()"/>'/> --%>
<input name="input" id="saveBtn" type="button" onclick="add();" class="btnhr30 mr5" value="保 存"/>
<input name="" type="reset" class="btnhh30 ml5" value="重置" />
<!-- <s:reset cssClass="btnhh30 ml5" value="重置"></s:reset> -->
</div>
</form>
//添加保存
function add(){
if(!check()){
return false;
}
//alert(66);
$("#saveBtn").attr("disabled",true);
$("#saveBtn").removeClass("btnhr30");
$("#saveBtn").addClass("btnhh30");
$.ajax({
url:"${path}/myaccount/addUser",
type:"post",
cache:false,
async:true,
dataType:"json",
data:$("#operateUserAddForm").formSerialize(),
success:function(ret){
//alert(00);
if(ret.status==0){
//alert(11);
$.zd.alert("","【"+$("#cusUser_MAN").val()+"】操作员信息创建成功!",function(){
window.location.href="${path}/myaccount/getAccount";
});
}else{
//alert(22);
$.zd.alert('',ret.msg,function(){
$("#saveBtn").removeAttr("disabled");
$("#saveBtn").removeClass("btnhh30");
$("#saveBtn").addClass("btnhr30");
});
}
},
error:function(retMsg){
//alert(33);
//alert(retMsg.status);
//alert(retMsg.msg);
//displayProp(retMsg);
try{
//var ret = eval("("+retMsg.responseText+")");
if(retMsg.status!=0){
$.zd.alert('',retMsg.msg,function(){
$("#saveBtn").removeAttr("disabled");
$("#saveBtn").removeClass("btnhh30");
$("#saveBtn").addClass("btnhr30");
});
}
}catch(eee){
}
}
});
}
@RequestMapping(value = "/addUser")
public String addUser(Model model,TbCusUserBeanVo tbCusUserBeanVo, @RequestParam(value="rolesKey") String rolesKey,@RequestParam(value="pz") String[] pz,HttpServletRequest request,HttpServletResponse response, HttpSession session) throws Exception {
CusUserBean getCusUser= CASUtil.getCusUser(request, session);
if(tbCusUserBeanVo==null){
return null;
}
tbCusUserBeanVo.setCustomerKey(BigDecimal.valueOf(Long.valueOf(getCusUser.getCustomerKey())));
try{
Map<String,Object> param =new HashMap<String,Object>();
param.put("CUSTOMER_KEY", tbCusUserBeanVo.getCustomerKey());
Map userNum =accountService.getUserNum(param);
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
if(userNum==null){
accountService.addOperateUser(tbCusUserBeanVo, rolesKey, pz);
JsonMsg msg= new JsonMsg("0","添加成功");
String strJsonMsg = JSONUtils.toJSONString(JSONObject.fromObject(msg));
response.getWriter().print(strJsonMsg);
response.getWriter().flush();
}else{
int i =((BigDecimal)userNum.get("COUNT")).intValue();
if(((BigDecimal)userNum.get("SET_USER_NUM")).intValue()<i+1){
JsonMsg msg= new JsonMsg("-1","最多允许添加:"+((BigDecimal)userNum.get("SET_USER_NUM")).intValue()+"个子账户");
String strJsonMsg = JSONUtils.toJSONString(JSONObject.fromObject(msg));
response.getWriter().print(strJsonMsg);
response.getWriter().flush();
// throw new Exception("最多允许添加:"+((BigDecimal)userNum.get("SET_USER_NUM")).intValue()+"个子账户");
}else{
accountService.addOperateUser(tbCusUserBeanVo, rolesKey, pz);
JsonMsg msg= new JsonMsg("0","添加成功");
String strJsonMsg = JSONUtils.toJSONString(JSONObject.fromObject(msg));
response.getWriter().print(strJsonMsg);
response.getWriter().flush();
}
}
}catch(Exception e){
JsonMsg msg= new JsonMsg("-1",e.getMessage());////异常里面抛出的信息可以e.getMessage()直接获取到
String strJsonMsg = JSONUtils.toJSONString(JSONObject.fromObject(msg));
response.getWriter().print(strJsonMsg);
response.getWriter().flush();
e.printStackTrace();
return null;
}
return null;
}
JSONUtils.java
public static String toJSONString(JSONObject jsonObject) {
return jsonObject.toString();
}
相关推荐
**JSP博客系统开发(前台及后台)** 在IT领域,构建一个基于JSP的博客系统是一项常见的项目,它涉及到Web开发的基础知识,包括前端设计、后端逻辑处理以及数据库操作。下面将详细阐述该系统的主要组成部分和技术...
可以是简单的SELECT语句,也可以是复杂的JOIN、WHERE子句等。 6. **会话管理** 在用户登录后,为了保持用户的会话状态,可以使用JSP内置对象HttpSession。创建session,将用户信息存储,然后在后续请求中检查...
- 系统应具备良好的异常处理机制,如使用try-catch-finally语句捕获并处理可能出现的异常,提供友好的错误提示,同时记录详细的错误日志以便排查问题。 9. **安全性**: - 对敏感操作(如修改密码、删除记录)...
10. **错误与异常处理**:为了保证系统的稳定性和健壮性,开发者需要考虑错误捕获和异常处理,提供友好的错误提示信息。 11. **性能优化**:通过缓存技术、负载均衡和数据库索引等方式,提升系统响应速度和服务质量...
- **异常处理**:在实际开发中还需要添加更多的异常处理逻辑,比如文件不存在、权限不足等情况下的错误提示。 通过上述步骤,我们可以有效地利用Java、JSP和Servlet技术实现文件的下载功能。这对于开发各种类型的...
8. **异常处理**:为了提高系统的健壮性,开发者会添加异常处理机制,捕获并适当地处理运行时可能出现的错误,提供友好的错误提示。 9. **性能优化**:对于高并发的酒店管理系统,性能优化至关重要。可能的优化策略...
9. 错误处理与日志记录:项目应包含适当的错误处理机制,如异常捕获和友好提示,同时利用日志框架如Log4j记录系统运行状态,方便后期排查问题。 10. 版本控制与部署:项目开发过程中,使用Git等版本控制系统管理...
### Ajax 上传图片知识点解析 #### 一、Ajax 上传图片概述 Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载...同时,在实际应用中还需要考虑更多的细节和异常情况处理,以确保系统的稳定性和安全性。
7. **异常处理(Exception Handling)**:确保程序在遇到错误时能正常运行,提供友好的错误提示。 在SQL Server 2005数据库方面,可能包括: 1. **数据库设计**:包括ER图(实体关系图)设计,确定实体间的关系,...
【标签】"java 毕业设计"提示我们,该系统的开发语言是Java。Java是一种广泛应用的面向对象的编程语言,具有跨平台性、安全性和可维护性强等特点,尤其适合开发大型企业级应用。对于毕业设计来说,使用Java能够让...
7. **异常处理**:系统应具备完善的异常处理机制,当发生错误时能够给出清晰的错误提示,同时记录日志,便于后期问题排查。 8. **性能优化**:为了保证系统在高并发环境下的稳定运行,可能需要进行性能优化,如使用...
HasStatic.java 一个简单的拥有静态成员的类 hideMember_1.java 成员隐藏示例1 hideMember_2.java 成员隐藏示例2 hideMember_3.java 成员隐藏示例3 hideMember_4.java 成员隐藏示例4 hideMember_5.java 成员...
学习如何优雅地捕获和处理异常,提供友好的错误提示,是提高用户体验的关键。 8. **JNDI(Java Naming and Directory Interface)**:在大型项目中,数据库连接等资源可能会通过JNDI查找,实现资源的集中管理和共享...
学生可以查看个人信息,教师则可以进行信息的添加、修改和删除,并对异常操作提供提示信息。同时,系统设置了过滤器来防止非法访问。 - **数据库设计** 数据库包含学生表和教师表,结构包括姓名、学号、班级等字段...
8. **异常处理**:系统需有完善的错误处理机制,如数据验证、事务管理,确保在出现问题时能够及时恢复或给出友好提示。 9. **安全性**:使用HTTPS协议保证通信安全,防止数据被窃取。同时,对用户输入进行过滤,...
2.33 保存成功后提示alert()而不跳转页面 82 3 页面多行录入的处理方案 83 3.1 概述 83 3.2 设计思想 84 3.3 方法调用顺序 85 3.3.1 点击增加按钮时 85 3.3.2 点击删除按钮时 85 3.4 Javascript API 85 ...
4. 服务器端还需要处理可能出现的异常情况,如无效的JSON格式、网络问题等,确保返回适当的错误信息。 这个实例展示了如何在Java应用中结合jQuery和JSON实现登录功能,提供了一个简单的前后台交互模型。实际开发中...
- 对异常操作进行提示和警告,保护系统安全。 - 采用JDBC连接数据库,提高安全性。 - 使用框架构建界面,减少代码暴露。 - **灵活性要求**:支持多次查询操作,提高用户体验。 - **故障处理要求**:对长时间未...