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>