java在后台输出js弹出对话框

9 篇文章 0 订阅

实现方法分为两种:

一、直接在后台打印js对话框,原理如下:

    response.setContentType("text/html; charset=UTF-8"); //转码
    PrintWriter out = response.getWriter();
    out.flush();
    out.println("<script>");
    out.println("alert('此用户名已存在,请重新输入!');");
    out.println("history.back();");
    out.println("</script>");
    return mapping.findForward("");

二、在后台存放一个变量message,其值就是弹出的对话框中的内容,在前台接收这个变量,首先要在前台页面放一个隐藏域,第一次访问该页面时隐藏域的值为空,这里就需要用onload调用js弹出对话框,将后台的内容以对话框的形式弹出,如下:

后台:

request.setAttribute("message", "此用户名不存在,请确认后再输入!");

前台:

<script type="text/javascript">
    function checkForm(){
     var flag=true;
     var message=form1.message.value;
     if(message!='null'){
      alert(message);
      flag=false;
     }
     return flag;
    }

</script>

 <body class="backgdcolor" οnlοad="checkForm()">

<input type="hidden" name="message" value="<%=request.getAttribute("message") %>">

</body>

出处:http://blog.163.com/yurong_1987@126/blog/static/4751786320092711596354/

首先,在合同审核页面中,需要添加一个审核不通过按钮或者链接,该按钮或链接可以触发审核不通过的操作。可以使用JS或jQuery的Ajax方法向后台发送请求,请求后台审核不通过的接口。 后台可以使用SpringMVC框架,定义一个审核不通过的Controller方法,该方法接收前端传来的审核不通过原因,并将审核结果存储在数据库中。同时,后台需要返回一个响应,告知前端审核不通过的结果。 在前端,可以在Ajax请求成功的回调函数中,判断审核不通过的结果,如果审核不通过,则弹出对话框,让用户填写不通过的原因。可以使用Bootstrap的Modal组件实现弹出对话框的效果。用户填写完原因后,可以再次触发审核不通过的操作,将不通过原因提交给后台进行存储。 下面是一个简单的代码示例: 合同审核页面: ```html <button id="rejectBtn" class="btn btn-danger">审核不通过</button> <script> $('#rejectBtn').click(function() { $.ajax({ url: '/rejectContract', type: 'POST', data: {contractId: 'xxx'}, success: function(data) { if (data.result == 'success') { // 审核通过 } else { // 审核不通过,弹出对话框让用户填写原因 $('#rejectModal').modal('show'); } } }); }); </script> <!-- 不通过原因的弹出对话框 --> <div id="rejectModal" class="modal fade" role="dialog"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title">审核不通过</h4> <button type="button" class="close" data-dismiss="modal">×</button> </div> <div class="modal-body"> <label>不通过原因:</label> <textarea id="rejectReason" class="form-control"></textarea> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button> <button id="submitRejectReason" type="button" class="btn btn-primary">提交</button> </div> </div> </div> </div> ``` SpringMVC Controller: ```java @Controller public class ContractController { @Autowired private ContractService contractService; @RequestMapping("/rejectContract") @ResponseBody public Map<String, Object> rejectContract(@RequestParam("contractId") String contractId) { Contract contract = contractService.findContractById(contractId); contract.setStatus(ContractStatus.REJECTED); contractService.saveOrUpdateContract(contract); Map<String, Object> resultMap = new HashMap<>(); resultMap.put("result", "success"); return resultMap; } @RequestMapping("/saveRejectReason") @ResponseBody public Map<String, Object> saveRejectReason(@RequestParam("contractId") String contractId, @RequestParam("rejectReason") String rejectReason) { Contract contract = contractService.findContractById(contractId); contract.setRejectReason(rejectReason); contractService.saveOrUpdateContract(contract); Map<String, Object> resultMap = new HashMap<>(); resultMap.put("result", "success"); return resultMap; } } ``` 在上面的代码示例中,我假设了一个Contract类,它有一个status属性表示合同的审核状态,一个rejectReason属性表示审核不通过的原因。在审核不通过的Controller方法中,我将合同的status属性设置为REJECTED,然后将合同存储到数据库中。在保存不通过原因的Controller方法中,我将合同的rejectReason属性设置为前端传来的rejectReason参数,然后将合同存储到数据库中。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值