当前位置: 首页 > 知识库问答 >
问题:

Spring 启动:传递哈希图并打开新页面

伏德义
2023-03-14

我对所有的web开发都很陌生,我正在努力寻找我想要的东西。我用的是跳羚。

我的期望是:用户将打开一个页面,填写表单细节,点击提交按钮,然后被重定向到一个新的页面。表单信息将存储在一个hashmap上,并在我的后端使用。

现实:用户打开页面,填写表单详细信息,单击“提交”按钮,但不被重定向到新页面。尽管如此,信息仍存储在哈希图上。

HTML:

<div class="container" ng-app="app">
        <h1>Configurador de Plugin</h1>
            <div ng-controller = "plugins">
            <form>
                <div class="form-group">
                    <label>Database Details:</label> 
                    <input type="text" class="form-control" id="hostname" placeholder="Informe o Endereço do Servidor" ng-model="hostname">
                    <input type="text" class="form-control" id="port" placeholder="Informe a porta" ng-model="port">
                    <input type="text" class="form-control" id="username" placeholder="Informe o usuário" ng-model="userdb">
                    <input type="text" class="form-control" id="userpass" placeholder="Informe a senha" ng-model="userpass">
                    <input type="text" class="form-control" id="database" placeholder="Informe qual o banco de dados" ng-model="database">
                <button ng-click="validar()" type="submit" class="btn btn-default">Search</button>
                <div ng-show="visivel"> 


                    <p>{{valor}}</p>
                </div>  
            </form>
            <div>Make a choice</h3>
            </div>
            <div class="radio">
                <label><input ng-model="plugin.Name" value="test" type="radio" name="Test">Test</label></div>
            <div class="radio">
                <label><input ng-model="plugin.Name" value="v2" type="radio" name="V2">V2</label></div>
            <div class="radio">
                <label><input ng-model="plugin.Name" value="v1" type="radio" name="V1" >V1</label></div>
            Texto:
            <p>{{plugin.Name}}</p>
            <br>
            <button ng-click="sendForm()" type="submit" class="btn btn-default">Search</button>

        </div>
    </div>

JS:

app.controller('plugins', function($scope, $http, $location) {
    $scope.validar = function(){
        $scope.visivel = true;
        $scope.valor = $scope.hostname,
        console.log($scope.hostname)
    }

    $scope.enviarForm = function(){

        var url = $location.url() + "test";

        var config = 
        {
                headers : 
                {
                    'Content-Type': 'application/json;charset=utf-8;'
                }
        }
        console.log($scope.hostname);
        var data = 
        {
                hostname: $scope.hostname,
                port: $scope.port,
                username: $scope.username,
                userpass: $scope.userpass,
                database: $scope.database
        };


        $http.post(url, data, config).then(function (response) 
                {
            $scope.postResultMessage = "Sucess!";
        }, 
        function (response) {
            $scope.postResultMessage = "Fail!";
        });

    }
});

控制器:

@RequestMapping("/test")
    public ModelAndView CadastroEnotas(@RequestBody HashMap<String, Object> data) {
        ModelAndView modelAndView = new ModelAndView("newPage");
        modelAndView.addAllObjects(data);
        return modelAndView;
    }

因此,我的预期是,上面的Controller会将用户发送到newPage,但它不会。

我在谷歌搜索,但我可能误解了ModelAndView的概念,或者如何在我的js上执行该功能...

我认为最接近我正在寻找的是在这里描述:角事件成功时,提交表单打开弹出窗口,但我未能使它工作。有人能指出我哪里做错了吗?

共有1个答案

戚宏浚
2023-03-14

适当地使用重定向

ModelAndView modelAndView =  new ModelAndView("redirect:/newPage.htm");
modelAndView.addAllObjects(data);
return modelAndView;

或者在发布请求后尝试重定向:$location.path('/newPage')

检查这样的东西:重定向

 类似资料:
  • 要将类放入HashMap中。为此,我用@Service创建了一个Bean。就是这样: 这样做对吗?

  • 做web app,一个无法避开的问题就是转场动画;web是基于链接构建的,从一个页面点击链接跳转到另一个页面,如果通过有刷新的打开方式,用户要面对一个空白的页面等待;如果通过无刷新的方式,用Javascript移入DOM节点(常见的SPA解决方案),会碰到很高的性能挑战:DOM节点繁多,页面太大,转场动画不流畅甚至导致浏览器崩溃; mui的解决思路是:单webview只承载单个页面的dom,减少d

  • 用于打开url或载入url至 BrowserWindow ,并对该窗口进行少量功能的控制. 使用 window.open 创建一个新窗口时,会自动创建一个 BrowserWindowProxy 的实例将返回一个标识,可通过标识对这个新窗口进行少量功能的控制. 不过希望完全的控制这个窗口,请直接创建一个 BrowserWindow .新创建的 BrowserWindow 默认为继承父窗口的属性参数,

  • 问题内容: 当大小超过maxthreshold值时,如何在哈希表或哈希表中进行重新哈希处理? 是否所有对都已复制到新的存储桶阵列中? 编辑: 重新哈希后,同一存储桶(位于链接列表中)中的元素会发生什么情况?我的意思是说,他们在重新哈希处理后会留在同一个桶中吗? 问题答案: 问题中的最大阈值称为负载系数。 建议负载系数约为0.75。负载因子定义为(m / n),其中n是哈希表的总大小,m是在需要增加

  • 问题内容: 我正在尝试通过一些过程在外部javascript文件中使用此语句刷新页面。 它完美地重新加载了页面,但是重新加载后我想滚动到特定的位置。因此,我将其放在页面上。 并将javascript更改为 此代码也不会重新加载/刷新页面 当我这样做时,它根本不会重新加载页面。有什么办法可以用滚动条位置重新加载页面? 问题答案: 首先添加哈希,然后重新加载页面。哈希将保留在那里,并且页面将被重新加载

  • 常见问题,Int Raku,如何合并,合并两个哈希? 说: 如何获取