中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SSM框架實現前后端信息交互的實現代碼詳情

發布時間:2020-07-17 17:46:34 來源:億速云 閱讀:404 作者:小豬 欄目:開發技術

這篇文章主要講解了SSM框架實現前后端信息交互的實現代碼詳情,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

一、從前端向后端傳送數據

常見的3種方式

1、form表單的action:此方法可以提交form表單內的輸入數據,也可同時提交某些隱藏但設置有默認值的<input>,如修改問題時,我們除了提交問題的相關信息,還需要將用戶的編號提交給后端,此時就可以設置一個默認值為用戶編號的<input>,并將其隱藏

2、<a>標簽的href屬性:此方法一般用來提交一些較少的數據,比如對象編號

1 <a href="<%=path%>/Question/DisplayQuestionInfo&#63;question_id=${question.question_id}" rel="external nofollow" >${question.question_title}</a>
比如該處代碼,顯示了問題的標題信息,并將其作為超鏈接,點擊該鏈接時進入后端Controller類的方法,并向其發送問題編號question_id

3、ajax請求:此方法一般在不需要頁面跳轉時采用,可以局部刷新頁面,比如向后端提交關注某用戶的信息,后端收到ajax的請求數據,對數據庫進行操作,并通過@Response注解返回信息給前端,然后前端進行相關操作,可以不進行頁面跳轉

前端部分代碼

<script language="JavaScript">
  ......
      function SaveUserFollowUser(){
      var login_user_id = ${login_user_id}    //登錄者(發起者)編號
      var user_id = ${user.user_id};       //接受者用戶編號

      $.ajax({
        url:"<%=path%>/UserRelation/SaveUserFollowUser",
        type:"POST",
        async: false,
        contentType:"application/json;charset=UTF-8",
        dataType:'json',

        data:JSON.stringify({"from_user_id":login_user_id,"to_user_id":user_id}), //JSON對象轉為字符串
        success:function(data){
          /* 可在后端增加判斷發起者和接受者用戶是否是同一用戶的判斷 */
          if (data == true) {
            alert("關注成功");
          } else {
            alert("您已經關注該用戶,不可重復關注")
          }
        }
      });
    }
</script>

......
      <button class="btn btn-success"  onclick="SaveUserFollowUser()">關注用戶</button>
......

后端Controller類

/**
 * 表現層 用戶關系相關 (關注用戶、被用戶關注、關注問題、贊同回答)
 */
@Controller
@RequestMapping("/UserRelation")
public class UserRelationController {

  ......

   /**
   * 新增某用戶關注某用戶
   * @param map
   * @return
   */
  @RequestMapping(value = "/SaveUserFollowUser",method = {RequestMethod.POST})
  public @ResponseBody Boolean SaveUserFollowUser(@RequestBody Map<String,String> map) {

    //關注發出者編號
    Integer from_user_id = Integer.parseInt(map.get("from_user_id"));
    //關注接受者編號
    Integer to_user_id = Integer.parseInt(map.get("to_user_id"));
    //是否新增成功
    //該項可以增加發起者用戶和接受者用戶是否是同一用戶的判斷,即比較from_user_id與to_user_id是否相等,如果相等則關注失敗
    //通過返回Integer類型而非Boolean類型的做判斷 本程序并未增加這項判斷
    Boolean flag = userRelationService.saveUserFollowUser(from_user_id,to_user_id);
    return flag;
  }
  ......
}

二、從后端向前端傳送數據

1、Model

后端部分代碼

/**
 * 表現層 用戶
 */
@Controller
@RequestMapping(value = "/User")
public class UserController {

  ......

  /**
   * 進入個人信息頁面
   * @param httpSession
   * @param model
   * @return
   */
  @RequestMapping(value = "/DisplayMyInfo")
  public String DisplayMyInfo(HttpSession httpSession, Model model) {
    Integer user_id = (Integer) httpSession.getAttribute("login_user_id");  //登錄者個人編號
    User user = userService.findUserById(user_id); //登錄者個人信息

    model.addAttribute("user",user);       //將登錄者個人信息返回給前端
    return "User/myInfo";
  }
  ......
}

前端部分代碼

......
      <div class="col-md-6 col-md-offset-5" >
        <h3>用戶名:${user.user_name}</h3>
        <h3>用戶昵稱:${user.user_nickname}</h3>
        <h3>用戶性別:${user.user_sex}</h3>
        <h3>用戶郵箱:${user.user_email}</h3>
        <h3>用戶密碼:${user.user_password}</h3>
      </div>
......

此時可以通過${}直接取得后端傳來的數據

2、ModelAndView

該方法與Model相比,多增加了返回的視圖(View),對于返回給前端的具體數據處理類似

看完上述內容,是不是對SSM框架實現前后端信息交互的實現代碼詳情有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

延川县| 全椒县| 阜新| 墨玉县| 微博| 伊宁县| 德化县| 上高县| 称多县| 溧阳市| 广安市| 新闻| 濮阳市| 聂拉木县| 伊金霍洛旗| 桓仁| 嘉义市| 东港市| 濮阳县| 青神县| 灵川县| 南雄市| 樟树市| 鄂托克旗| 扎鲁特旗| 新巴尔虎左旗| 安义县| 文成县| 行唐县| 改则县| 内乡县| 徐水县| 仙桃市| 东乡| 苍溪县| 苏尼特左旗| 丰城市| 江油市| 明水县| 广水市| 从江县|