亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將表單數據導入角度控制器以及如何將其傳遞給 serlvet?

如何將表單數據導入角度控制器以及如何將其傳遞給 serlvet?

拉風的咖菲貓 2022-12-15 16:04:59
我有一個包含兩個<select>標簽的表單。一個是年份列表,另一個是劑量列表。當我選擇選項時selectedYear,我可以使用 ng-model 在我的控制器中獲取,但無法獲取selectedDosage. 當我試圖將此數據發送到我的 servlet 時,它返回 null 作為值。我感謝 JSON 的任何建議Dosages:[    {"name":"Tablet"},    {"name":"Syrups and Suspension"},    {"name":"Non-Antibiotic Capsules"},    {"name":"Antibiotic Capsules"},    {"name":"Dry Powder for Suspension"},    {"name":"ORS"},    {"name":"Antiseptics"}]Years:{"json1":"[    {\"years\":2018},    {\"years\":2017},    {\"years\":2016},    {\"years\":2015}]"HTML<form  ng-submit="Display()">    <select class="form-control" ng-model="selectedYear">        <option value="" selected disabled>Select Year</option>        <option   ng-repeat="option in years" ng-value="{{option.years}}" >          {{option.years}}        </option>    </select>    <br>    <select class="form-control" ng-model="selectedDo">        <option value="" selected disabled>Select Dosage</option>        <option  ng-repeat="option in section" ng-value="{{option.name}}"  >          {{option.name}}        </option>    </select>    <input type="submit" value="Submit"/>       </form>控制器$scope.selectedDo;$scope.selectedYear;$scope.Display=function(){    $window.alert($scope.selectedDo+"..."+ $scope.selectedYear);    $http({        method:"post",        url:"/com.az.BusinessRatioAnalysis/SectionServlet",        data:{           year:$scope.selectedYear,           dosage:$scope.selectedDo,        }    }).then(function(result){        $window.alert("Ajex call failed" + result);                                 });};小服務程序public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        String year=request.getParameter("year");        String dosage=request.getParameter("dosage");                System.out.println(year+".."+dosage);    }
查看完整描述

1 回答

?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

請嘗試以下操作。


負載 Bean 類:


class Bean {

    Year year;

    Dosage dosage;

    //getters and setters

}

服務類:


public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {


    StringBuilder json = new StringBuilder();

    String str;

    while ((str = request.getReader().readLine()) != null) {

        json.append(str);

    }


    // Using Jackson

    ObjectMapper objectMapper = new ObjectMapper();

    Bean bean = objectMapper.readValue(json.toString(), Bean.class);


    System.out.println("Year ::" + bean.getYear());

    System.out.println("Dosage ::" + bean.getDosage());

}

如果是 Maven 項目,則為 pom.xml 文件,否則相應地添加 jars:


<dependency>

    <groupId>com.fasterxml.jackson.core</groupId>

    <artifactId>jackson-databind</artifactId>

    <version>2.9.8</version>

</dependency>

PS:忽略上面代碼中的異常處理


查看完整回答
反對 回復 2022-12-15
  • 1 回答
  • 0 關注
  • 77 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號