• spring mvc 传参数


    1.页面:(1)js传参数:location.href="${ctx }/forum/changeCtm.html?ctmId="+id;

    (2)将内容写在form表单里面,然后用表单提交

    
    
    <form method="post" action="${ctx }/forum/savePost.html" name="form1">
    <input type="hidden" name="postId" value="${postId }">
    <input type="hidden" name="postType" value="${forumPost.postType }" id="postType">
    <input type="hidden" name="plateName" value="${forumPost.plateName }" id="plateName">
    <a href="javascript:void(0);" class="comBtn" onclick="submitForm1(this);">提交</a>
    </form>
    如果需要验证表单,可以在js里面验证之后,然后用 "表单名".submit();来提交
    function submitForm1(src){
    //………………
    form1.submit();
    }
    也可以修改表单提交的action,然后再提交。此方法可实现在同一表单内,点击不同按钮,跳转的不同的action
    form1.action="${ctx }/forum/savePostReFeedback.html?postReId="+id ;
    form1.submit();

    后台:可以有三种方法获取

      (1)@RequestMapping(value="/changeCtm")
        public String changeCtm(Model model,HttpServletRequest request,Long ctmId){}

      直接在方法里面写参数名

      (2)@RequestMapping(value="/changeCtm")
        public String changeCtm(Model model,HttpServletRequest request,Customer customer){}

      Customer里面有属性,ctmId

      (3)@RequestMapping(value="/changeCtm")
        public String changeCtm(Model model,HttpServletRequest request){

        Long ctmId = request.getParameter("ctmId");

      }

      参数列表里面不用写,在方法体内通过原始方法获取

    2.用json实现与后台交互

    (1)前台:将参数写进链接里面

    $.post("${ctx}/forum/savePostVote-" + postId + "-"+flag+".json", null, function(result) {
            result = eval("(" + result + ")");
            if (result.status == "true" || result.status == true) {
                
                alert(result.msg);
                state=0;
            } else {
                alert(result.msg);
                state=1;
            }
        });

    后台,在映射的url里面配置对照的参数,然后在方法参数列表里面配置 处理requet uri 部分的注解PathVariable,与url参数对应即可

    @RequestMapping(value="/savePostVote-{postId}-{flag}")
        public ResponseEntity<String> savePostVote(Model model , HttpServletRequest request,@PathVariable(value = "postId") Long postId,@PathVariable(value = "flag") Integer flag){}

    (2)前台:将参数写进params里面,传到后台

    var params = {
                id : id
            };
            $.post("${ctx}/admin/forum/deletePlate.json", params, function(
                    result) {
                result = eval("(" + result + ")");
                if (result.status == "true" || result.status == true) {
                    alert(result.msg);
                    window.location.reload();
                }else{
                    alert(result.msg);
                }
            });

    后台:将参数写在参数列表内

    @RequestMapping(value = "/deletePlate")
        public ResponseEntity<String> deletePlate(Model model,HttpServletRequest request,String id) throws Exception {}
  • 相关阅读:
    Webpack 如何在每次构建之前自动清理构建目录
    Webpack 代码压缩 js、CSS、HTML压缩
    Webpack 三种文件指纹策略 js、css、图片字体资源的指纹设置
    Webpack热更新以及原理分析 webpack-dev-server与webpack-dev-middleware WDS WDM
    Webpack中的文件监听 watch配置实时更新
    【神经网络结构搜索】DNA: Block-wisely Supervised NAS with KD
    DeiT:使用Attention蒸馏Transformer
    ECCV20 BigNAS无需后处理直接部署
    实现数据逻辑与业务的解耦,模板文件填入你需要的数据,框架自动去请求相关数据
    推荐一个离线应用框架-lcache.js
  • 原文地址:https://www.cnblogs.com/cuiyf/p/3937585.html
Copyright © 2020-2023  润新知