`
y806839048
  • 浏览: 1118817 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

简单好用的前台异常提示jsp

阅读更多

用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博客系统开发(前台及后台)

    **JSP博客系统开发(前台及后台)** 在IT领域,构建一个基于JSP的博客系统是一项常见的项目,它涉及到Web开发的基础知识,包括前端设计、后端逻辑处理以及数据库操作。下面将详细阐述该系统的主要组成部分和技术...

    jsp页面,连接数据库实现增删改查

    可以是简单的SELECT语句,也可以是复杂的JOIN、WHERE子句等。 6. **会话管理** 在用户登录后,为了保持用户的会话状态,可以使用JSP内置对象HttpSession。创建session,将用户信息存储,然后在后续请求中检查...

    北大青菜基于jsp+servlet的宠物医院管理系统(前台和后台)

    - 系统应具备良好的异常处理机制,如使用try-catch-finally语句捕获并处理可能出现的异常,提供友好的错误提示,同时记录详细的错误日志以便排查问题。 9. **安全性**: - 对敏感操作(如修改密码、删除记录)...

    酒店宾馆管理系统JSP

    10. **错误与异常处理**:为了保证系统的稳定性和健壮性,开发者需要考虑错误捕获和异常处理,提供友好的错误提示信息。 11. **性能优化**:通过缓存技术、负载均衡和数据库索引等方式,提升系统响应速度和服务质量...

    java+jsp+servlet 文件下载

    - **异常处理**:在实际开发中还需要添加更多的异常处理逻辑,比如文件不存在、权限不足等情况下的错误提示。 通过上述步骤,我们可以有效地利用Java、JSP和Servlet技术实现文件的下载功能。这对于开发各种类型的...

    基于JSP的酒店客房管理系统

    8. **异常处理**:为了提高系统的健壮性,开发者会添加异常处理机制,捕获并适当地处理运行时可能出现的错误,提供友好的错误提示。 9. **性能优化**:对于高并发的酒店管理系统,性能优化至关重要。可能的优化策略...

    jsp网上书店

    9. 错误处理与日志记录:项目应包含适当的错误处理机制,如异常捕获和友好提示,同时利用日志框架如Log4j记录系统运行状态,方便后期排查问题。 10. 版本控制与部署:项目开发过程中,使用Git等版本控制系统管理...

    Ajax 上传图片 前台后台都有 代码简单易懂 总共加起来不到80行

    ### Ajax 上传图片知识点解析 #### 一、Ajax 上传图片概述 Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载...同时,在实际应用中还需要考虑更多的细节和异常情况处理,以确保系统的稳定性和安全性。

    酒店前台登记系统java sql

    7. **异常处理(Exception Handling)**:确保程序在遇到错误时能正常运行,提供友好的错误提示。 在SQL Server 2005数据库方面,可能包括: 1. **数据库设计**:包括ER图(实体关系图)设计,确定实体间的关系,...

    酒店管理系统前台加后台

    【标签】"java 毕业设计"提示我们,该系统的开发语言是Java。Java是一种广泛应用的面向对象的编程语言,具有跨平台性、安全性和可维护性强等特点,尤其适合开发大型企业级应用。对于毕业设计来说,使用Java能够让...

    健身中心会员管理系统

    7. **异常处理**:系统应具备完善的异常处理机制,当发生错误时能够给出清晰的错误提示,同时记录日志,便于后期问题排查。 8. **性能优化**:为了保证系统在高并发环境下的稳定运行,可能需要进行性能优化,如使用...

    Java开发技术大全(500个源代码).

    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查找,实现资源的集中管理和共享...

    javaweb课程设计学生信息管理.pdf

    学生可以查看个人信息,教师则可以进行信息的添加、修改和删除,并对异常操作提供提示信息。同时,系统设置了过滤器来防止非法访问。 - **数据库设计** 数据库包含学生表和教师表,结构包括姓名、学号、班级等字段...

    酒店管理系统毕业设计源码论文.rar

    8. **异常处理**:系统需有完善的错误处理机制,如数据验证、事务管理,确保在出现问题时能够及时恢复或给出友好提示。 9. **安全性**:使用HTTPS协议保证通信安全,防止数据被窃取。同时,对用户输入进行过滤,...

    ARCH4系统开发指南

    2.33 保存成功后提示alert&#40;&#41;而不跳转页面 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 ...

    实例解析javajQueryjson工作过程(登录)知识.pdf

    4. 服务器端还需要处理可能出现的异常情况,如无效的JSON格式、网络问题等,确保返回适当的错误信息。 这个实例展示了如何在Java应用中结合jQuery和JSON实现登录功能,提供了一个简单的前后台交互模型。实际开发中...

    校园在线音乐网站软件详细概要设计.docx

    - 对异常操作进行提示和警告,保护系统安全。 - 采用JDBC连接数据库,提高安全性。 - 使用框架构建界面,减少代码暴露。 - **灵活性要求**:支持多次查询操作,提高用户体验。 - **故障处理要求**:对长时间未...

Global site tag (gtag.js) - Google Analytics