86---- jQuery与Struts2 -stream方式以及json方式详细讲解

来源:互联网 发布:360云盘数据没有了 编辑:程序博客网 时间:2024/04/30 02:03

一、     jQuery与Struts2 -stream方式

  1.编写Action代码:定义一个InputStream类型的成员变量

publicclass UserAction extends ActionSupport{ 

    private int userId; 

    private String password; 

    private InputStream is; 

        //get/set

    public String login1(){ 

        String text; 

       if((123==userId)&&("123".equals(password))){ 

            text="登陆成功!";  

        }else{ 

            text="loginfailure!"; 

        } 

        try { 

            this.is=newByteArrayInputStream(text.getBytes("utf-8")); 

        } catch (UnsupportedEncodingExceptione) { 

            // TODO Auto-generated catchblock 

            System.out.println("password转化字符输入流失败!"); 

            e.printStackTrace(); 

        } 

        return SUCCESS; 

    } 

 

 

  2.配置struts.xml

<packagename="default" extends="struts-default" namespace="/">

<action name="login"class="com.yunhe.action.UserAction"method="login1"> 

        <resulttype="stream"> 

            <paramname="contentType">text/html;charset=utf-8</param> 

            <paramname="inputName">is</param> 

        </result> 

        <resultname="input">login.jsp</result> 

     </action> 

</package>

 

  3.编写JSP实现用户名验证

<script type="text/javascript"src="js/jquery-1.8.3.js"></script> 

 <script type="text/javascript"> 

   function checkName(){  

   function login(){ 

       var password=$("#password").val(); 

       var userId=$("#userId").val(); 

       $.get("login.action","password="+password+"&userId="+userId,function(value){ 

           alert(value); 

           $("#ssubmit").html(value); 

       }); 

   } 

 </script> 

 </head> 

   

 <body> 

  <h2><s:textname="login.title"></s:text></h2> 

           <form method="post" > 

                <dlid="loginBox"> 

               <s:fielderror></s:fielderror> 

                    <dt><s:textname="login.name"></s:text> 

                    <inputtype="text" class="input-text"  id="userId"name="userId"  value=""onblur="checkName()"/> 

                    <spanid="suserId"><s:textname="login.name.span"></s:text></span></dt> 

                    <dt><s:textname="login.pass"></s:text><inputtype="password" class="input-text" id="password"name="password" value="" onblur="checkpassword()"/> 

                    <spanid="spassword"><s:text name="login.pass.span"></s:text></span></dt> 

                    <dt><inputtype="submit" value="<s:textname='login.submit'></s:text>"onclick="login()"/><spanid="ssubmit"></span></dt> 

                </dl> 

           </form> 

 </body> 

</html> 

 

二、     jQuery与Struts2 -json方式

  1.配置struts.xml: extends="json-default",struts2-json-plugin-xxx.jar

 

 <package name="default" extends="json-default" namespace="/"> 

    <action name="chkName"class="com.yh.myajax.LoginAction" method="chkName"> 

      <result type="json"> 

         <param name="root">message</param> 

           

         <!--<param name="includeProperties">name</param> 

         <param name="excludeProperties">id</param> 

      --></result> 

    </action>   

 </package> 

  2.     编写Action代码:

 

public class LoginAction extendsActionSupport { 

   private String name;//获得jsp传入的信息 

   private JSONObject message; //get/set

 

   public String chkName() { 

       String text; 

       if ("sa".equals(name)) {text = "成功";}else {text = "失败";} 

//     User us=new User();us.setId(1);us.setName(text);  

//     message=JSONObject.fromObject(us);//{"id":3,"name":"xx"} 

       Map map=new HashMap();map.put("info", text); 

       message=JSONObject.fromObject(map); 

       return SUCCESS; 

   } 

  3.编写JSP实现用户名验证

<scripttype="text/javascript"> 

function chkName() { 

   var name = $("#username").val();alert(name); 

 

   /* $.getJSON("server.jsp","name=" +name,function(result){

    $("#msg").html(result.msg);

    })*/ 

 

   $.ajax( {url : "chkName.action",data : "name=" +name, dataType : "json", 

       type : "get", success : function(value) {  

       alert(value.info);$("#msg").html(value.info); 

       }}); 

   } 

     

</script> 

   <body> 

       <div id="show"></div> 

       <form action="login.action"method="post"> 

                用户名:<inputname="username" type="text" value=""id="username"onblur="chkName()" /> 

                <span id="msg">请输入用户名</span><br> 

           <input type="submit" value="提交"/> 

       </form> 

   </body> 

</html>

  JSON类型的Result

 

参数

作用

默认值

适用场景

root

指定要序列化的根对象

当前Action中所有有返回值的getter方法的值

用于指定不需要序列化key值的数据

includeProperties

指定根对象中要序列化的属性

当前根对象中的所有属性

用于需要序列化的属性较少的情况

excludeProperties

指定根对象中要排除的属性

null

用于需要排除序列化的属性较少的情况

excludeNullProperties

指定根对象中是否序列化值为空的属性

false

用于需要过滤空值的情况

 

 


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 孩子学习一点都不主动怎么办 孩子怕老师不想上学怎么办 幼儿园孩子怕老师不想上学怎么办 孩子在幼儿园怕老师怎么办 幼儿园老师对孩子有歧视怎么办 儿子在幼儿园受到老师歧视怎么办 我把老师骂了怎么办 孩子讨厌老师骂老师怎么办 幼儿园老师讨厌一个孩子怎么办 幼儿园老师对孩子不好怎么办 高中分班讨厌班主任怎么办 把孩子老师惹了怎么办 高三班主任第一节课应该怎么办 高三孩子与班主任不和怎么办 孩子很害怕一件事怎么办 吼完孩子觉得很害怕怎么办 小朋友在幼儿园被欺负怎么办 老师总找孩子茬怎么办 小孩说幼儿园老师不喜欢她怎么办 小孩在学校老师不喜欢怎么办 好哭的孩子老师怎么办 小孩哭的犟住怎么办 2-3小孩脾气很犟怎么办 生了孩子没奶怎么办 二年级孩子写作业慢怎么办 六年级下册数学解决问题差的怎么办 孩子五年级了学习成绩不好怎么办 孩子做错事不承认怎么办 二年级小孩拼音差怎么办 小学三年级数学60多分怎么办 孩子三年级了数学不开窍怎么办 初二数学太差该怎么办 孩子语文阅读理解能力差怎么办 5年级数学不开窍怎么办 一年级孩子数学不开窍怎么办 三年级孩子数学成绩差怎么办 孩子三年级数学太差怎么办 三年级孩子数学理解能力差怎么办 教小孩做作业老是发火怎么办 孩子拿笔重写字太黑怎么办 教小孩写不到汉字怎么办