`
myCsdn_taoge
  • 浏览: 40957 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
文章分类
社区版块
存档分类
最新评论

ssh 框架 jquery ajax 向action中传入bean对象,并解析

阅读更多

1.请先看jsp页面

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
//System.out.print("path:"+path+"basePath:"+basePath);
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>添加信息</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	
	<script type="text/javascript" src="<%=path%>/js/jquery/jquery-1.2.6.js"></script>  
	<script type="text/javascript" language="javascript">
		$(document).ready(function(){ 
    		$("#login").click(function(){  
        		login();  
        	});  
		}); 
		
		function Mybean(){
			this.title="你大爷威武";
			this.content="你大爷威武!!!";
			this.id="11";
		}
		 
		function login(){
		    //alert(11)
		    var mybean = new Mybean();
		    var url = "ajax_login2.action";  
		    var params = {
			    "user.username":$("#name").attr("value"),
			    "user.password":$("#password").attr("value"),
			    "haha":"你大爷的",
			    "result":JSON.stringify(mybean)
		    };  
		   
		    //alert("params:"+params);
		    
		    //alert(22);
		    
		    /*  
		    $.getJSON(url,params,function callback(data){  
		        // convert to json object 
		        
		        alert("data:"+data);
		         
		        var user = eval("("+data+")");//  
		        
		        alert("user:"+user);  
		          
		        $("#result").each(function(){  
		            $(this).html('welcome ,' + user.name);  
		            });  
		    });
		    */
		    $.ajax({
		    	type:"post",
		    	url:url,
		    	async:false,
		    	data:params,
		    	
		    	
		    	success:function(data){
		    		 alert(data);
		    		 
		    		 var user = eval("("+data+")");// 
		    		 alert(user)
		    		 //alert("命令为:"+user.command);
		    		 //alert("令为:"+user.list[0].id);
		    		 
		    		 //alert("用户名:"+user.users.username);
		    		 //alert("密码:"+user.users.password);
		    		 
		    		 alert("返回的bean:"+user.noticeBean.id+":"+user.noticeBean.title+":"+user.noticeBean.content);
		    		 
		    		 $.each(user.list,function(num,value){   
					    $("#result").append("<div>welcome您,"+user.users.username+"</div>").append("<div>第"+(num+1)+"个用户:</div>")   
					       .append("<div><font color='red'>用户ID:"+value.id+"</font></div>")   
					          .append("<div><font color='red'>公告标题:"+value.title+"</font></div>")   
					          .append("<div><font color='red'>公告内容:"+value.content+"</font></div>");   
					});
		    		$("#login").attr("disabled",true);
		    	
		    	},
		    	/*
		    	success: function(data){
		    		//alert("123");  
		    		//alert(data);  
                    //alert("您已预约成功!"); 
                    alert(data);
                    
                    
                    var user = eval("("+data+")");//  
		        
		            //alert("user:"+user);  
		          
		            $("#result").each(function(){  
		                $(this).html('welcome ,' + user[0].username);  
		            }); 
                    $("#login").attr("disabled", true);  
                },
                */
                error: function(){  
                    alert("您的预约信息保存失败,请重新预约!");  
                }  
		    });  
	    }  
	</script>
  </head>
  
  <body>
  	<!-- 
    This is my JSP page.你大爷的 <br>
    <s:form action="save" method="post" namespace="/taoge">
    
    <s:textfield name="user.username"  label="用户名"></s:textfield>  
    <s:password name="user.password"  label="密码"></s:password>  
    
    <s:submit  vlaue="提交"></s:submit>
    </s:form>
  	 -->
    
    <s:actionmessage/>  
	<form  method="post" id="form"><s:text  
	    name="用户名"/>:<input type="textbox" name="user.username" id="name"  
	    value='${param["user.username"]}' /><br>  
	<s:text name="密码" />:<input type="password" id="password"  
	    name="user.password" /><br>  
	<input type="button" id="login" value='<s:text name="登陆"/>' />
	
	</form>  
	
	<div id="result">  
	      
	</div>  
    
    
  </body>
</html>

 2:看action代码

package com.taoge.action;

import java.util.List;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;

import net.sf.json.JSONObject;

import com.opensymphony.xwork2.ActionSupport;
import com.taoge.model.Account;
import com.taoge.model.Notice;
import com.taoge.model.NoticeDAO;
import com.taoge.service.stuManager;


@Entity
public class stuAction extends ActionSupport  {

	/**
	 * 
	 */
	@Id
	@GeneratedValue
	private static final long serialVersionUID = 1L;
	
	@ManyToOne
	private stuManager stuManager;
	
	private NoticeDAO noticeDAO;
	
	public void setNoticeDAO(NoticeDAO noticeDAO) {
		this.noticeDAO = noticeDAO;
	}

	private List list;
	
	
	private String str="haha"; 
	private String result; 
	private Notice noticeBean; 
	
	private String haha; 
	private String command; 

	private String username;
	
	private String password; 
	
	private Account user = null; 
	
	private Account users; 
	

	



	public String add(Object obj){
		
		stuManager.add(obj);
		return SUCCESS;
	}
	
	
	public String login2(){
		
		System.out.println(user.getUsername()+":"+user.getPassword()+"哈哈:"+this.getHaha());
		
		String rslt=this.getResult();
		
		noticeBean = (Notice)JSONObject.toBean(JSONObject.fromObject(rslt), Notice.class);
//		Account account=new Account();
//		
//		account.setUsername(user.getUsername());
//		account.setPassword(user.getPassword());
		
		this.setUsers(user);
		
        list = noticeDAO.findAll();
        this.setCommand("success123");
//		return "login2";
		return SUCCESS;
	}
	
	
	/*
	 * 流的形式返回
	 */
//	public String login(){
//		
//		System.out.println(user.getUsername()+":"+user.getPassword());
//		
//		Map<String, String> map = new HashMap<String, String>();  
//		
//        map.put("name", user.getUsername()); 
//        
//        map.put("password",user.getPassword());  
//        
//        list = stuManager.getList();
//        
//        
////        JSONObject obj = JSONObject.fromObject(map); 
////        result = obj.toString(); 
//        
//        JSONArray jsonarray = JSONArray.fromObject(list);
////        
////        result = jsonarray.toString(); 
//        
//        ActionContext  context = ActionContext.getContext();
////		HttpServletRequest  request=(HttpServletRequest)context.get(ServletActionContext.HTTP_REQUEST);
//        
//		HttpServletResponse rspon = (HttpServletResponse) context.get(ServletActionContext.HTTP_RESPONSE);
//		
//        System.out.println("result:"+result); 
//        
//        rspon.setCharacterEncoding("utf-8");  
//        rspon.setCharacterEncoding("utf-8");  
//        rspon.setContentType("text/html");
//        
//         PrintWriter out = null;  
//        try {  
//            out = rspon.getWriter();  
//        } catch (IOException e) {  
//              
//            e.printStackTrace();  
//        }    
//        
//        
//        out.print(jsonarray);  
//        
//        out.flush();  
//        out.close();  
//          
//		return SUCCESS;
//	}
	
	public String save(){
		
//		System.out.println("haha"+username);
		
	    System.out.println(user.getUsername()+":"+user.getPassword());
		
		list = stuManager.getList();
		return SUCCESS;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}
	
	public String getHaha() {
		return haha;
	}

	public void setHaha(String haha) {
		this.haha = haha;
	}

	
	public String getCommand() {
		return command;
	}

	public void setCommand(String command) {
		this.command = command;
	}

	
	
	public String getResult() {
		return result;
	}

	public void setResult(String result) {
		this.result = result;
	}
	
	public Account getUsers() {
		return users;
	}

	public void setUsers(Account users) {
		this.users = users;
	}

	public Account getUser() {
		return user;
	}

	public void setUser(Account user) {
		this.user = user;
	}

	public String getStr() {
		return str;
	}

	public void setStr(String str) {
		this.str = str;
	}

	public void setStuManager(stuManager stuManager) {
		this.stuManager = stuManager;
	}

	public List getList() {
		return list;
	}

	public void setList(List list) {
		this.list = list;
	}


	public Notice getNoticeBean() {
		return noticeBean;
	}


	public void setNoticeBean(Notice noticeBean) {
		this.noticeBean = noticeBean;
	}

		
	
	

}

 3.web.xml代码

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <display-name></display-name>	
  
  <context-param>
  	<param-name></param-name>
  	<param-value></param-value>
  </context-param>
  
  <context-param>
        <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext*.xml</param-value>
  </context-param>
  
  <!-- 管理session -->
  <filter>
  	<filter-name>lazyLoadingFilter</filter-name>
  	<filter-class>
  		org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
  	</filter-class>
  	<init-param>  
            <!--  
                指定org.springframework.orm.hibernate3.LocalSessionFactoryBean  
                在spring配置文件中的名称,默认值为sessionFactory.  
                如果LocalSessionFactoryBean在spring中的名称不是sessionFactory,  
                该参数一定要指定,否则会出现找不到sessionFactory的例外  
            -->  
            <param-name>sessionFactory</param-name>  
            <param-value>sessionFactory</param-value>  
    </init-param>
  </filter>
 
  
  <!-- Spring Listener -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	<listener>
	       <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
	</listener>
	
  
  <!-- Log4j Config -->
	<context-param>   
	    <param-name>log4jConfigLocation</param-name>   
	    <param-value>/WEB-INF/classes/log4j.properties</param-value>   
	</context-param> 
  
  <filter>
  	<filter-name>struts2</filter-name>
  	<filter-class>
  		org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
  	</filter-class>
  </filter>
  
  
  
  <filter-mapping>
  	<filter-name>lazyLoadingFilter</filter-name>
  	<url-pattern>*.action</url-pattern>
  </filter-mapping>
  
  <filter-mapping>
  	<filter-name>struts2</filter-name>
  	<url-pattern>*.action</url-pattern>
  </filter-mapping>
  
  <filter-mapping>
	<filter-name>struts2</filter-name>
	<url-pattern>*.jsp</url-pattern>
  </filter-mapping>
  
  
  <filter>
	  <filter-name>CharacterEncodingFilter</filter-name>
	  <filter-class>
	   		com.taoge.filter.FilterEncoding
	  </filter-class>
	  <init-param>
	   <param-name>encoding</param-name>
	   <param-value>UTF-8</param-value>
	  </init-param>
	  <init-param>
	   <param-name>forceEncoding</param-name>
	   <param-value>true</param-value>
	  </init-param>
 </filter>
 <filter-mapping>
	  <filter-name>CharacterEncodingFilter</filter-name>
	  <url-pattern>/*</url-pattern>
 </filter-mapping>
  
  
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  </web-app>

 4.struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
	
	<constant name="struts.Factory" value="spring"></constant>
	<package name="com.taoge.action" extends="struts-default" namespace="/taoge">
		<action name="findall"  class="testBean">
			<result>/success.jsp</result>
		</action>
		
		<action name="save"  class="testBean" method="save">
			<result name="SUCCESS">/success.jsp</result>
			<result name="save">/error.jsp</result>
		</action>
	</package>
	
	<package name="ajax_action" extends="json-default" namespace="/">
		
		<action name="ajax_*" class="testBean" method="{1}">
			<result type="json" ></result>
		</action>
	
	
	</package>

</struts>    

 

分享到:
评论

相关推荐

    SSH+jQuery+Ajax框架做的地区选择

    SSH+jQuery+Ajax框架在构建地区选择功能时,结合了后端开发的高效性和前端交互的用户体验,形成了一个强大的Web应用程序解决方案。SSH是Struts2、Hibernate和Spring三大框架的简称,它们各自承担着不同的职责。 **...

    ssh框架下ajax和jquery的增删该查的使用

    在SSH框架下,Ajax通过XMLHttpRequest对象向服务器发送异步请求,获取后台数据,然后通过JavaScript处理返回的数据,动态更新DOM元素。例如,用户在前端填写表单并点击保存按钮,Ajax请求会被触发,发送数据到服务器...

    SSH框架ajax获取的json格式数据处理过程

    在本文中,我们将详细讲解如何使用 SSH 框架中的 Ajax 获取的 JSON 格式数据处理过程,并且实现菜单联动下拉框的功能。 一、Ajax 中 response 返回的数据是一个二维数组 在 Ajax 中,response 返回的数据是一个二...

    SSH+jQuery+json 实现的Ajax操作,绝对精华,代码简练清晰,绝对能看明白

    当用户选择省份后,jQuery会发送Ajax请求到服务器,服务器使用SSH框架处理请求,查询数据库并返回JSON格式的城市数据,最后jQuery解析JSON并在前端更新城市选择框。 总结来说,这个压缩包提供的示例是一个基于SSH...

    ssh+jquery ajax 实现搜索自动补全

    SSH(Struts2、Spring3、Hibernate3)框架与jQuery AJAX技术结合,是现代Web开发中的常见模式,用于构建高效、动态的用户界面。在本项目"ssh+jquery ajax 实现搜索自动补全"中,主要目标是实现类似百度搜索框的自动...

    以SSH框架与jQuery技术为_省略_础的Java_Web开发应用探讨_何晶.pdf

    的高效应用,首先需要了解SSH框架和jQuery技术的基本概念及其特点。 SSH框架是Spring、Struts和Hibernate三个开源项目的简称,它们分别负责控制层、表现层和持久层的开发。Spring是一个全面的企业级应用框架,提供...

    Ajax里jQuery的ajax与ssh集成

    当我们谈论Ajax与jQuery的ajax方法与SSH框架的集成时,实际上是在讨论如何在前端使用jQuery的Ajax功能与后端SSH框架进行通信,实现数据的无刷新交互。 首先,jQuery的`$.ajax()`方法是核心工具,它允许我们发起异步...

    SSH1,JQuery的ajax返回json二维数组处理过程

    在JQuery中,我们可以使用AJAX的`$.ajax()`或简化的`$.get()`、`$.post()`方法来发送请求并处理响应。在本例中,我们假设服务器端的SSH1应用处理了请求,并以JSON格式返回了一个二维数组。例如,当用户选择第一个...

    ssh2 ajax jquery

    在IT领域,SSH2、Ajax和jQuery是三个关键的技术组件,它们在构建高效、动态的Web应用程序中扮演着重要角色。SSH2(Secure Shell 2)主要用于提供安全的远程登录和网络服务,Ajax(Asynchronous JavaScript and XML)...

    SSH+jquery

    SSH是Spring、Struts2和Hibernate三个开源框架的缩写,而jQuery则是一个强大的JavaScript库。在这个通用CRUD(创建、读取、更新、删除)示例中,我们将深入探讨这些技术如何协同工作以实现数据操作。 **Spring框架*...

    ssh+jquery+ajax二级联动

    在这个"ssh+jquery+ajax二级联动"项目中,开发者可能创建了一个简单的Web应用,实现了基于Ajax的二级联动选择功能。这通常在多级下拉菜单或地区选择等场景中常见,例如:省份选择后,城市列表会动态加载更新。 1. *...

    SSH框架+Ajax(运用dwr框架)综合小实例

    标题中的“SSH框架+Ajax(运用dwr框架)综合小实例”指的是在Web开发中,使用Struts2、Spring和Hibernate三大主流Java EE框架(SSH)结合Ajax技术,并通过Direct Web Remoting (DWR) 框架进行前端与后端交互的一个实战...

    SSH+Jquery 源码(含数据库)

    SSH+jQuery 源码(含数据库)是一个典型的Web开发框架结合前端库的项目实例,主要涉及Spring、Struts2和Hibernate(SSH)三大Java开源框架以及jQuery JavaScript库。SSH框架是Java Web开发中常用的一套高效、轻量级...

    SSH三大框架整合+ajax应用+jquery+json应用+分页+增删改查

    通过这个项目,开发者可以学习如何配置SSH框架,编写Action类,设置Action Mapping,使用Hibernate进行数据操作,以及如何在页面上利用Ajax和jQuery展示和处理JSON数据,同时实现分页和基本的CRUD功能。

    基于SSH框架以及jQuery、ajax的图书管理系统

    总结起来,这个基于SSH框架、jQuery、ajax的图书管理系统利用了Java的强大功能和现代Web技术的优势,实现了高效、易用的图书管理。系统通过Spring进行业务逻辑控制,Struts处理用户请求,Hibernate处理数据库操作,...

    SSH框架+Ajax实现增、删、改、查

    SSH框架,全称为Struts2、Spring和Hibernate的组合,是一种在Java开发中广泛使用的开源MVC(Model-View-Controller)架构。这个框架集合了Struts2的强大视图层控制,Spring的灵活依赖注入以及Hibernate的对象关系...

    ssh2+ajax+jquery+json 登陆验证

    本文将围绕SSH2框架、Ajax、jQuery和JSON这些技术展开讨论,并结合给定的部分内容来深入分析如何利用这些技术进行用户名验证。 ### SSH2框架 SSH2框架是指Spring、Struts2和Hibernate三个开源框架的集成应用,它们...

Global site tag (gtag.js) - Google Analytics