`

struts与jquery整合

阅读更多

1、首先导入几个jar包
        commons-beanutils.jar
        commons-collections.jar
        commons-logging.jar
        commons-lang.jar
        ezmorph-1.0.6.jar
        json-lib-2.2.3-jdk.jar
   
2、服务器端处理程序

LoginAction

/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.sailor.test.action;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import net.sf.json.JSONArray;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.sailor.test.action.form.LoginForm;
import com.sailor.test.model.LoginDTO;

/** *//** 
 * MyEclipse Struts
 * Creation date: 12-28-2008
 * 
 * XDoclet definition:
 * @struts.action path="/login" name="loginForm" input="/login.jsp" scope="request" validate="true"
 */
public class LoginAction extends Action {
    /**//*
     * Generated Methods
     */

    /** *//** 
     * Method execute
     * @param mapping
     * @param form
     * @param request
     * @param response
     * @return ActionForward
     */
    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) {
        
        
        System.out.println("begin");

        LoginForm loginForm = (LoginForm) form;
        
        List<LoginDTO> list = new ArrayList<LoginDTO>();
        
        LoginDTO l1 = new LoginDTO();
        l1.setUsername("haiou");
        l1.setPassword("sa");
        
        LoginDTO l2 = new LoginDTO();
        l2.setUsername("sailor");
        l2.setPassword("123456");
        
        LoginDTO l3 = new LoginDTO();
        l3.setUsername(loginForm.getUsername());
        l3.setPassword(loginForm.getPassword());

        list.add(l1);
        list.add(l2);
        list.add(l3);
        
        //适用于List
        //Map<String, Object> map = new HashMap<String, Object>();
        //map.put("userlist", list);
        //JSONObject json = JSONObject.fromObject(map);
        
        //适用于Map
        JSONArray json = JSONArray.fromObject(list);
        
        try {
            PrintWriter out = response.getWriter();
            out.print(json);
            
        } catch (IOException e) {
            e.printStackTrace();
        }

        return null;
    }
}

 

2、struts-config,web.xml不需要特殊的配置

 

3、login.jsp:输入用户名和密码,然后显示在本页面

login.jsp

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%> 
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
 
<html> 
    <head>
        <title>JSP for LoginForm form</title>

          <script src="jquery-1[1].2.1.pack.js" charset="utf-8"></script>
    <script>
    $(document).ready(function(){
    
      $("#userlogin").click(function(){
            $.ajax({
                 url:'login.do', 
                 type: 'post',
                 data:'username='+$("#username").val()+'&password='+$("#password").val(), 
                 timeout: 2000,
                 error: function(){
                    alert('错误');
                 },
                success: function(json){
                
                var users = eval('(' + json + ')');
                
                $("#result").empty();
                $("#username").attr("value",""); 
                $("#password").attr("value",""); 
                
                //返回的是List
               $.each(users,function(i, user){       
                  $("#result").append("<li>"+ i + " name: " + user.username + "&nbsp; pwd:"+ user.password +"</li>");
               });
               
               //返回的是Map类型
               //  var users = myObject.userlist;
               // $.each(users,function(i, user){
               //    $("#result").append("<li>"+ i + " name: " + user.username + "&nbsp; pwd:"+ user.password +"</li>");
               // });
                }
         });
        
     });      
   
        //ajax提交
        $("#loading").ajaxStart(function(){ 
             $(this).html("<img src=\"loading.gif\">&nbsp;正在加载");
          }); 
      
       //ajax成功状态
        $("#loading").ajaxSuccess(function(){
             $(this).html("保存成功!");
         });
         
        //ajax结束状态
         $("#loading").ajaxStop(function(){
           $(this).hide();
         }); 
   
    });
    </script>


    </head>
    <body> 
    用户名 : <input type="text" id="username" name="username"/><br/>
    密码 :     <input type="password" id="password" name="password"/><br/>
            <font id="userlogin">登陆</font><span id="loading"></span>

    <p id="result"></p>
    </body>
</html>

 

分享到:
评论
1 楼 youjianbo_han_87 2009-05-25  
$ajax  调用strtus Action 的 methord时,怎么在  data里面指定调用的方法及要传递的参数

相关推荐

    jquery和struts2的整合

    **jQuery与Struts2整合详解** 在Web开发中,jQuery是一个强大的JavaScript库,它简化了DOM操作、事件处理、动画效果以及Ajax交互。而Struts2是一个基于MVC设计模式的Java Web框架,用于构建可维护性和可扩展性高的...

    jquery与struts2整合

    【jQuery与Struts2整合详解】 在Web开发中,jQuery是一个强大的JavaScript库,它简化了JavaScript的DOM操作、事件处理和Ajax交互。Struts2是一个流行的Java Web框架,用于构建MVC(Model-View-Controller)架构的...

    整合了struts2 jquery的formValidator表单验证的页面代码

    在"整合了struts2 jquery的formValidator表单验证的页面代码"这个项目中,开发者可能采用了以下步骤: 1. **引入依赖**:首先,需要在HTML页面中引入Struts2的相关JSP标签库,同时引入jQuery库和formValidator的...

    struts2 整合jQuery 和 json 的全部jar包

    整合Struts2、jQuery和JSON可以极大地提升Web应用的用户体验和后端数据交互效率。下面将详细解释这些知识点: 1. **Struts2 JSON插件**:Struts2提供了一个JSON插件,允许Action直接返回JSON格式的数据,而无需额外...

    struts jquery

    Struts和jQuery是两个在Web开发中...压缩包中的"struts2+jQuery所需jar包"应该是包含了Struts 2与jQuery整合所需的依赖库,确保项目能够正常运行。在实际开发中,正确导入这些jar包是搭建Struts 2和jQuery环境的基础。

    struts2整合jquery实现层拖拽即时保存。源码

    将Struts2与jQuery整合,可以充分利用两者的优势,创建出具有丰富交互效果的动态Web应用。 在本项目中,"struts2整合jquery实现层拖拽即时保存",指的是利用jQuery的拖放功能(draggable)和Struts2的Action机制,...

    Struts2整合jQuery实现Ajax功能

    #### 三、Struts2与jQuery的整合 在Struts2项目中集成jQuery可以显著提高用户体验。下面我们将详细介绍如何在Struts2中引入jQuery,并通过一个具体的示例来演示如何利用jQuery实现Ajax功能。 ##### 3.1 引入jQuery ...

    struts+js,struts+jquery示例

    在Struts与jQuery的整合中,jQuery的AJAX功能与Struts的Ajax插件如Ajax-Struts2可无缝对接。Ajax-Struts2提供了Action支持,使得Action可以直接返回JSON或XML响应,供jQuery解析。这样,你可以创建交互式的界面,如...

    jquery.validate 与 struts2的整合使用

    通过以上步骤,我们可以实现jQuery Validate与Struts2的有效整合,达到前端和后端双重验证的目的,既保证了数据的准确性,又提供了良好的用户体验。在实际项目中,还可以根据需求自定义验证规则和错误处理方式,使...

    Jquery与struts2

    **jQuery与Struts2整合详解** 在Web开发中,jQuery是一个强大的JavaScript库,它极大地简化了JavaScript的使用,使得前端交互更加便捷高效。而Struts2作为一款成熟的MVC框架,广泛应用于Java后端开发,提供了强大的...

    Struts2整合jquery利用json与后台交互

    整合Struts2和jQuery可以实现高效的前端与后端数据交互,尤其是通过JSON(JavaScript Object Notation)这种轻量级的数据交换格式,能够提升Web应用的性能和用户体验。 在Struts2中,我们可以创建一个Action类来...

    struts2 jquery xml

    在实际项目中,Struts2与jQuery的整合可以带来高效的前后端交互。通过JSON格式,Action可以直接返回数据到前端,jQuery解析并更新DOM。例如,使用jQuery的Ajax方法发送请求到Struts2 Action,获取数据后更新页面部分...

    Struts2整合jQuery实现Ajax功能.doc

    在Struts2中整合jQuery,可以创建更加流畅、高效的用户界面。 1. 引入jQuery到Struts2项目 要使用jQuery,首先需要将其下载并添加到项目的资源目录下。通常,这涉及到将jQuery.js文件放置在项目的JavaScript库目录...

    Jquery 整合 struts2 完整例子

    在IT行业中,jQuery和Struts2是两种非常重要的技术,它们分别在前端和后端扮演着关键角色。...对于初学者来说,这是一个极好的实践案例,通过分析和修改代码,可以深入理解jQuery与Struts2的整合机制。

    struts2整合jquery例子

    将Struts2与jQuery整合,可以极大地提高开发效率,提供更丰富的用户交互体验。 在"struts2整合jquery例子"中,我们主要会涉及以下几个知识点: 1. **Struts2核心概念**:了解Action、Result、Interceptor等核心...

    jQuery EasyUI与Struts2的整合—属性驱动篇

    jQuery EasyUI与Struts2 的整合—属性驱动篇 如果你是用模型驱动,或者是直接把属性写在action里面,你不会碰到我遇到的那么多问题。 但是你用模型驱动好吗,如果一个页面需要处理多个对象的时候怎么办。 如果你...

    struts2下jquery-ui的全部实例

    4. **整合Struts2和jQuery**: - **Ajax请求**:使用jQuery的`$.ajax`或`$.getJSON`发起异步请求到Struts2 Action,处理响应数据。 - **Struts2标签与jQuery**:虽然jQuery主要处理DOM操作,但也可以配合Struts2...

    struts2整合jquery

    至此,我们完成了Struts2与jQuery的整合,实现了使用Ajax异步提交用户ID,从服务器获取并显示用户信息。通过这种方式,可以显著提高用户体验,因为页面无需刷新即可获取和更新数据。同时,对象列表展示可以通过类似...

Global site tag (gtag.js) - Google Analytics