zoukankan      html  css  js  c++  java
  • Struts ajax json重新整理

    刚才写的例子,出了些问题,又重新写了一个。

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Login Page</title>
    <script type="text/javascript" src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
    <script type="text/javascript" src="jquery.validate.min.js"></script>
    <script>
    $.validator.setDefaults({
        submitHandler: function() {
            var params=$("input").serialize();
            $.ajax({
                method:"post",
                url:"json.action",
                data:params,
                dataType:"json",
                success:function(data){
                        console.log(data.username);
                },
                error:function(){
                    console.log("error");
                }
            });
        }
    });
    $().ready(function() {
      $("#loginForm").validate({
            rules: {
             
              username: {
                required: true,
                minlength: 2
              },
              password: {
                required: true,
                minlength: 5
              }
            },
            messages: {
              
              username: {
                required: "请输入用户名",
                minlength: "用户名必需由两个字母组成"
              },
              password: {
                required: "请输入密码",
                minlength: "密码长度不能小于 5 个字母"
              }
            }
        });
    });
    </script>
    </head>
    <body>
        <form action="#" method="post"  id="loginForm">
    
            UserName: <input type="text" name="username" id="username" />
            <br/>
            Password:<input type="password" name="password" id="password"/>
            <br/>
            <button type="submit">Submit</button>
            
        </form>
        
    </body>
    </html>
    package com.zhao.action;
    
    import java.util.HashMap;
    import java.util.Map;
    import javax.servlet.http.HttpServletRequest;
    import org.apache.struts2.interceptor.ServletRequestAware;
    import com.opensymphony.xwork2.ActionSupport;
    
    
    public class JsonAction extends ActionSupport implements ServletRequestAware{
        private static final long serialVersionUID = 1L;
        private Map<String, Object> info = new HashMap<String, Object>();
        private HttpServletRequest request;
    
        @Override
        public String execute() throws Exception {
            String username=request.getParameter("username");
            String password=request.getParameter("password");
            System.out.println("username"+username);
            System.out.println("password"+password);
            info.put("username", username);
            info.put("password", password);
            return SUCCESS;
        }
    
        
    
        public Map<String, Object> getInfo() {
            return info;
        }
    
        public void setInfo(Map<String, Object> info) {
            this.info = info;
        }
    
        @Override
        public void setServletRequest(HttpServletRequest request) {
            this.request=request;
        }
    
    }
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">
    
    <struts>
        <package name="json" namespace="/" extends="json-default">
            <action name="json" class="com.zhao.action.JsonAction">
                <result type="json">
                    <param name="root">info</param>
                </result>
            </action>
        </package>
    
    </struts>

    完美运行,首先在页面进行验证,username password必须有值,然后控制了位数。通过了才会进行ajax的操作。

  • 相关阅读:
    Webpack 入门指迷--转载(题叶)
    浏览器工作原理理解
    Knockout.js初体验
    node.js链接mysql
    2020年度春季学习总结--第二周
    Python 爬取 热词并进行分类数据分析-[安全性改造]
    以 CheatEngine 为例的六个质量属性
    2020年度春季学习总结--第一周
    软件架构师如何工作-个人见解
    Steam 游戏 《Crashlands(崩溃大陆)》修改器制作-[先使用CE写,之后有时间的话改用CheatMaker](2020年寒假小目标12)
  • 原文地址:https://www.cnblogs.com/zhao307/p/5469591.html
Copyright © 2011-2022 走看看