亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Json在Struts中的轉(zhuǎn)換與傳遞方法

 更新時(shí)間:2016年11月08日 16:58:31   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇Json在Struts中的轉(zhuǎn)換與傳遞方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

本文主要探討普通數(shù)據(jù)如何快速轉(zhuǎn)換為Json數(shù)據(jù),一共討論2種方法:

首相準(zhǔn)備頁(yè)面和實(shí)體類:

頁(yè)面:

<body>
    <div id="topLoginDiv">
      用戶名:
      <input name="user.name" id="loginName" />
      &nbsp;密碼:
      <input name="user.password" id="loginPassword" />


      <label class="ui-green">
      <input type="button" name="loginButton" value="登錄" onclick="doLogin();" />
      </label>
    </div>
    <div id="demo" ></div>
</body>

實(shí)體類:

package bean;

public class User {

private int id;
private String userName;
private String password;
......省略Get和Set方法

}

方法一:使用JSON轉(zhuǎn)換包進(jìn)行JSON數(shù)據(jù)的轉(zhuǎn)換

第一步,引入相關(guān)相關(guān)包

  

第二步:頁(yè)面提交及回調(diào)函數(shù)處理結(jié)果。

<script type="text/javascript">
function doLogin(){
var name = $('#loginName').val();
var password = $('#loginPassword').val();
var data1 ={'user.userName':name,'user.password':password};
$.getJSON('user_login.action',data1,function(data){//此處須用$.getJSON來(lái)處理JSON數(shù)據(jù)
if(data.flag){
$('#topLoginDiv').html("");
$('#demo').html("當(dāng)前用戶:"+data.user.userName+"   "+data.msg);
}else{
$('#demo').html(data.msg);
}
});

}
</script>

第三步:Struts2跳轉(zhuǎn)到Action中進(jìn)行JSON的轉(zhuǎn)換《關(guān)鍵步驟》

private User user=new User();

private boolean flag;

private String msg;

......省略Get和Set方法

public String login() throws IOException{

if(user.getUserName().equals("admin")&&user.getPassword().equals("123456")){
msg="登陸成功";
flag=true;
}else{
msg="登錄失敗,用戶名或密碼錯(cuò)誤!";
flag=false;
}



Map<String,Object> list = new HashMap<String,Object>();//此處的Map不用get和Set方法
list.put("flag", flag);
list.put("msg",msg);
if(flag){
list.put("user",user);
}


ServletActionContext.getResponse().setCharacterEncoding("UTF-8");
ServletActionContext.getResponse().getWriter().print(JSONObject.fromObject(list));
return null;//此處返回值為NULL,不需要再回到ACTION配置中進(jìn)行處理

}

方法二:使用Struts2配置Action進(jìn)行JSON數(shù)據(jù)的轉(zhuǎn)換

第一步:引入包

此種方法只需要在使用Struts2所需包的基礎(chǔ)上引入下面這一個(gè)包即可:

第二步:頁(yè)面提交及回調(diào)函數(shù)處理結(jié)果。參考方法一中的第二步。

第三步:配置Action

<package name="json_default" namespace="/" extends="json-default">//注意此處的extends配置

    <action name="user_*" class="Action.userAction" method="{1}">
      <result type="json">//此處指明類型
        <!-- 參數(shù)root指定要序列化得根對(duì)象 -->
        <!-- 默認(rèn)將序列化當(dāng)前Action中所有有返回值的getter方法的值 -->
        <param name="root">list</param>
        <!-- 參數(shù)includeProperties指定要序列化根對(duì)象中的哪些屬性,多個(gè)屬性以逗號(hào)隔開-->
        <param name="includeProperties">msg,flag,user,user.userName</param>
        <!-- 參數(shù)excludeProperties指定要從根對(duì)象中排除的屬性,排除屬性將不被序列化-->
        <param name="excludeProperties">user.password</param>
        <!-- 參數(shù)excludeNullProperties指定是否序列化值為空的屬性-->
        <param name="excludeNullProperties">true</param>
      </result>
    </action>
</package>

第四步:Struts2跳轉(zhuǎn)到Action中進(jìn)行JSON的轉(zhuǎn)換《關(guān)鍵步驟》

private User user=new User();

private boolean flag;

private String msg;

private Map<String,Object> list=null;//需要為MAP準(zhǔn)備get和Set方法

..................省略Get和Set方法



public String login() throws IOException{

if(user.getUserName().equals("admin")&&user.getPassword().equals("123456")){
msg="登陸成功";
flag=true;
}else{
msg="登錄失敗,用戶名或密碼錯(cuò)誤!";
flag=false;
}


list= new HashMap<String,Object>();
list.put("flag", flag);
list.put("msg",msg);
if(flag){
list.put("user",user);
}

return "success";//返回值為success確保能跳進(jìn)Action配置文件進(jìn)行數(shù)據(jù)轉(zhuǎn)換

以上這篇Json在Struts中的轉(zhuǎn)換與傳遞方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java圖片滑動(dòng)驗(yàn)證(登錄驗(yàn)證)原理與實(shí)現(xiàn)方法詳解

    java圖片滑動(dòng)驗(yàn)證(登錄驗(yàn)證)原理與實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了java圖片滑動(dòng)驗(yàn)證(登錄驗(yàn)證)原理與實(shí)現(xiàn)方法,結(jié)合實(shí)例形式詳細(xì)分析了java圖片滑動(dòng)登錄驗(yàn)證的相關(guān)原理、實(shí)現(xiàn)方法與操作技巧,需要的朋友可以參考下
    2019-09-09
  • 淺談Spring與SpringMVC父子容器的關(guān)系與初始化

    淺談Spring與SpringMVC父子容器的關(guān)系與初始化

    這篇文章主要介紹了淺談Spring與SpringMVC父子容器的關(guān)系與初始化,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • RocketMq消息隊(duì)列之削峰詳解

    RocketMq消息隊(duì)列之削峰詳解

    這篇文章主要介紹了RocketMq消息隊(duì)列之削峰詳解,MQ的主要特點(diǎn)為解耦、異步、削峰,本篇博客只是簡(jiǎn)單的記錄RocketMQ削峰用法,用于減少數(shù)據(jù)庫(kù)壓力的業(yè)務(wù)場(chǎng)景,需要的朋友可以參考下
    2023-09-09
  • Java利用Zxing生成二維碼的簡(jiǎn)單實(shí)例

    Java利用Zxing生成二維碼的簡(jiǎn)單實(shí)例

    下面小編就為大家?guī)?lái)一篇Java利用Zxing生成二維碼的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-08-08
  • Java之如何關(guān)閉流

    Java之如何關(guān)閉流

    這篇文章主要介紹了Java之如何關(guān)閉流問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • centos7安裝java的多種方式總結(jié)

    centos7安裝java的多種方式總結(jié)

    這篇文章主要給大家介紹了關(guān)于centos7安裝java的多種方式,文中通過(guò)實(shí)例代碼以及圖文介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-01-01
  • Java從ftp服務(wù)器上傳與下載文件的實(shí)現(xiàn)

    Java從ftp服務(wù)器上傳與下載文件的實(shí)現(xiàn)

    這篇文章主要給大家介紹了關(guān)于Java從ftp服務(wù)器上傳與下載文件的實(shí)現(xiàn)方法,最近項(xiàng)目中需要實(shí)現(xiàn)將文件先存放到ftp上,需要的時(shí)候再?gòu)膄tp上下載,做的過(guò)程中碰到了問(wèn)題,所以這里總結(jié)下,需要的朋友可以參考下
    2023-08-08
  • mybatis mybatis-plus-generator+clickhouse自動(dòng)生成代碼案例詳解

    mybatis mybatis-plus-generator+clickhouse自動(dòng)生成代碼案例詳解

    這篇文章主要介紹了mybatis mybatis-plus-generator+clickhouse自動(dòng)生成代碼案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Spring Boot示例分析講解自動(dòng)化裝配機(jī)制核心注解

    Spring Boot示例分析講解自動(dòng)化裝配機(jī)制核心注解

    這篇文章主要分析了Spring Boot 自動(dòng)化裝配機(jī)制核心注解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2022-07-07
  • Spring Cloud Feign報(bào)錯(cuò)問(wèn)題解決

    Spring Cloud Feign報(bào)錯(cuò)問(wèn)題解決

    這篇文章主要介紹了Spring Cloud Feign報(bào)錯(cuò)問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12

最新評(píng)論