繁体   English   中英

JEE:带有jsp和angular的形式

[英]JEE : form with jsp and angular

我是一个有角度的新人,我正在做一个小银行项目。 我正在使用JSP和angular 1.3.2。 我有一个创建帐户的小表格。 在输入客户编号后我模糊的表格上,如果客户存在,它应该显示其他属性,如名称adresse等。但在我的情况下,一切都显示。 即使我在servlet中打印一个字符串只是为了测试nothings即将来临。 在角度控制器中,“警报”也没有显示任何内容。 现在我想了解什么不起作用。 请有人帮我解决这个问题! 提前致谢。 这是代码。 Jsp Page

var banking = angular.module('banking', []);
banking.controller('accountCtrl', ['$scope', '$http',
  function($scope, $http) {
    $scope.getClient = function() {
      $http({
        method: 'GET',
        url: 'account',
        params: {
          action: "getClient",
          numClient: $scope.numClient
        }
      }).success(function(data, status, headers, config) {
        alert(ok);
        $scope.nameCli = data.nomComplet;
        $scope.adresse = data.adresse;
        $scope.email = data.email;
        $scope.tel = data.telephone;
        $scope.sexe = data.sexe;
        $scope.datenaiss = data.dateNaissance;
      });
    };
    alert("ok");
  }
]);



<body ng-controller="accountCtrl">
  <div class="row">
    <div class="col-lg-10 col-md-9">
      <!--                        <div class="col-lg-1"><img src="img/ajout_contact.png" alt=""></div>-->
      <h1 class="titre-contact">Creation d'un compte</h1>
    </div>
  </div>
  <div class="container col-lg-10" style="border: 1px solid silver; border-radius: 1px 1px 1px 1px">
    <div class="row">
      <div class="col-sm-4">
        <div class="tableaudebord">
          <div class="contact_container">
            <div class="row">
              <div class="col-lg-8 col-lg-12 col-md-offset-1">
                <!--   <h2>Ajouter un client</h2> -->
                <div class="nb_com" style="display:none">9</div>
              </div>
            </div>
          </div>
          <div class="container">
            <div class="row">
              <form class="form-horizontal" role="form" data-toggle="validator">
                <div class='row'>
                  <div class="col-lg-8 col-lg-12 col-md-offset-1">
                    <div class="titleprghp">
                      <span class="prg">Informations Client</span>
                    </div>
                  </div>
                </div>
                <div class='row'>
                  <div class="col-lg-4 col-lg-offset-1">
                    <!--<form class="form-horizontal" role="form">-->
                    <div class="form-group">
                      <label for="cin" class="col-sm-2 control-label">Num&eacute;ro D'identit&eacute;</label>
                      <div class="col-sm-8">
                        <input type="text" class="form-control" id="cin" ng-model="numClient" ng-blur="getClient()">
                      </div>
                    </div>
                    <div class="form-group">
                      <label for="nom" class="col-sm-2 control-label">Nom :</label>
                      <div class="col-sm-8">
                        <input type="text" class="form-control" id="nameCli" ng-model="nameCli">
                      </div>
                    </div>
                    <div class="form-group">
                      <label for="datenaiss" class="col-sm-2 control-label">Date Naissance</label>
                      <div class="col-sm-8" data-validate="date">
                        <input type="date" class="form-control" name="datenaiss" ng-model="datenaiss" id="datenaiss" required="" data-format="DD/MM/YYYY">
                      </div>
                    </div>
                    <div class="form-group">
                      <label for="sexe" class="col-sm-2 col-xs-12 control-label">Sexe</label>
                      <div class="form-check">
                        <label class="form-check-label">
                                                        <input  class="form-check-input" type="radio" id="inlineCheckbox1" value="m" ng-model="sexe"> Masculin
                                                    </label>
                        <!--                                            <div class=" hidden-lg hidden-md col-xs-2"></div>-->
                        <label class="form-check-label">
                                                        <input class="form-check-input" type="radio" id="inlineCheckbox2" value="f" ng-model="sexe"> Feminin
                                                    </label>
                      </div>
                    </div>
                    <!--                                    </form>-->
                  </div>
                  <div class="col-lg-4 col-lg-offset-0">
                    <!--<form class="form-horizontal" role="form">-->
                    <div class="form-group">
                      <label for="adresse" class="col-sm-2 control-label">Adresse :</label>
                      <div class="col-sm-8">
                        <input type="text" class="form-control" id="adresse" ng-model="adresse">
                      </div>
                    </div>
                    <div class="form-group">
                      <label for="mail" class="col-sm-2 control-label">Email :</label>
                      <div class="col-sm-8" data-validate="email">
                        <input type="email" class="form-control" name="email" id="email" ng-model="email" data-error="Adresse email invalide" required>
                        <div class="help-block with-errors"></div>
                      </div>
                    </div>
                    <div class="form-group">
                      <label for="tel" class="col-sm-2 control-label">T&eacute;l&eacute;phone :</label>
                      <div class="col-sm-8" data-validate="phone">
                        <input type="tel" class="form-control" name="tel" id="tel" ng-model="tel" data-error="Le numero de tel est invalide" pattern="^[0-9]{1,}" maxlength="9" placeholder="(+221)77-745-89-65" required>
                        <div class="help-block with-errors"></div>
                      </div>
                    </div>
                  </div>
                </div>
                <div class='row'>
                  <div class="col-lg-8 col-lg-12 col-md-offset-1">
                    <div class="titleprghp">
                      <span class="prg">Informations Compte</span>
                    </div>
                  </div>
                </div>
                <!--<div class="blochp_contact">-->
                <div class='row'>
                  <div class="col-lg-4 col-lg-offset-1">
                    <!--<form class="form-horizontal" role="form">-->
                    <div class="form-group">
                      <label for="numcpt" class="col-sm-2 control-label">Num Compte :</label>
                      <div class="col-sm-8">
                        <input type="text" class="form-control" name="numcpt" id="numcpt">
                      </div>
                    </div>
                    <div class="form-group">
                      <label for="nom2" class="col-sm-2 control-label">Nom Client :</label>
                      <div class="col-sm-8">
                        <input type="text" class="form-control" name="nom2" id="nom2">
                      </div>
                    </div>
                    <div class="form-group">
                      <label for="" class="col-sm-2 col-xs-12 control-label">Type Compte</label>
                      <div class="form-check">
                        <label class="form-check-label">
                                                        <input  class="form-check-input" type="radio" id="inlineCheckbox1" value="simple"> Simple
                                                    </label>
                        <!--                                            <div class=" hidden-lg hidden-md col-xs-2"></div>-->
                        <label class="form-check-label">
                                                        <input class="form-check-input" type="radio" id="inlineCheckbox2" value="xeweul"> Xeweul
                                                    </label>
                      </div>
                    </div>
                  </div>
                  <div class="col-lg-4 col-lg-offset-0">
                    <!--<form class="form-horizontal" role="form">-->
                    <div class="form-group">
                      <label for="dateouv" class="col-sm-2 control-label">Date Ouverture</label>
                      <div class="col-sm-8" data-validate="date">
                        <input type="date" class="form-control" name="dateouv" id="dateouv" required="" data-format="DD/MM/YYYY">
                      </div>
                    </div>
                    <div class="form-group">
                      <label for="solde" class="col-sm-2 control-label">Solde</label>
                      <div class="col-sm-8">
                        <input type="number" class="form-control" name="solde" id="solde">
                      </div>
                    </div>
                  </div>
                </div>
                <div class="row">
                  <div class="col-lg-5 col-lg-12 col-md-offset-1">
                    <div class="boutton">
                      <div class="col-lg-7 col-md-7 hidden-md hidden-xs"></div>
                      <div class="col-lg-1 col-md-1 col-xs-12">
                        <button name="submit" id="cancel" type="reset" value="reset" class="btn btn-default">Cancel<span class="glyphicon glyphicon-remove"></span></button>
                      </div>
                      <div class="col-lg-3 col-lg-offset-1 col-md-3 col-md-offset-2 col-xs-12 col-sm-push-1">
                        <button name="submit" id="submit" type="submit" value="submit" class="btn btn-default"><span class="glyphicon glyphicon-floppy-disk"></span>Enregistrer <span class="glyphicon glyphicon-chevron-right"></span></button>
                      </div>
                    </div>
                  </div>
                </div>
              </form>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</body>

Servlet的

    @WebServlet(name = "Account_Servlet", urlPatterns = {"/account"})
public class AccountServlet extends HttpServlet {

    @EJB
private CompteEJBLocal compteEJB;
@Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        //response.sendRedirect("/home/ajouter_compte.jsp");
        System.out.println("ok");
        String action = request.getParameter("action");
        System.out.println("action " + action);
        switch (action) {
            case "getClient": {
                String numCli = request.getParameter("numClient");
                Client foundCli = compteEJB.unClient(numCli);
                System.out.println("client " + foundCli);
                ObjectMapper map = new ObjectMapper();
                String json = map.writeValueAsString(foundCli);
                response.getWriter().println(json);
            }
            break;
            default: {
            }
            break;
        }
    }

使用以下格式

 $http({
         url: 'account',
         method: "GET",
         params: {
             action: "getClient",
             numClient: $scope.numClient
         }
    })
    .then(function(response) {
        // success
    }, 
     function(response) { // optional
        // failed
    });

你没有在FORM中调用方法 $scope.getClient或它看起来像按钮

我编辑了这样的控制器代码: compteCtrl

我发现在服务器控制台中甚至没有发生任何事情

请参阅服务器控制

html文件使用data-ng-change="getClient(numClient)"而不是ng-blur="getClient()"

角度控制器文件

$scope.getClient = function(numClient) {
      $http({
        method: 'GET',
        url: 'account',
        params: {
          action: "getClient",
          numClient: numClient
        }
      }).success(function(data, status, headers, config) {
        alert(ok);
        $scope.nameCli = data.nomComplet;
        $scope.adresse = data.adresse;
        $scope.email = data.email;
        $scope.tel = data.telephone;
        $scope.sexe = data.sexe;
        $scope.datenaiss = data.dateNaissance;
      });
    };
    alert("ok");
  }

如果它可以帮助我如何显示表单的视图。 在此输入图像描述

表单加载不是由servlet控制,而是由javascript脚本控制

我知道问题的根源,但我不知道如何解决它。 当我从菜单中分离表单并直接从servlet的do get加载它时,一切正常。我也可以从servlet和控制器打印消息。 但是一旦它回到菜单栏,即使表格显示,servlet和角度控制器都不能看到。 我用sidebarmenu的javascript代码Scrpit加载了from

我的homePage angular中的另一件事没有被使用。 那么是否可以在从homePage加载的页面上使用(点击sidebarmenu的一个元素)而不在homePage本身中使用它

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM