Struts2-Ajax无刷新显示信息

Struts2-Ajax无刷新显示信息,以本项目为例就是使用div标签来生成div元素,而该div元素并非是静态的内容,而是通过div标签中的href来动态的从服务器中获取div元素的内容。而div标签中的delay则是延迟加载的意思,本项目中是采用了延迟3秒加载。

项目需要的包文件:

commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
commons-logging-1.1.jar
freemarker-2.3.13.jar
log4j-1.2.17.jar
ognl-2.6.11.jar
struts2-core-2.1.6.jar
struts2-dojo-plugin-2.1.8.1.jar
xwork-2.1.2.jar

Struts2Test.java源码:

package com.test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
public class Struts2Test extends ActionSupport{

	List<Object> list=new ArrayList<Object>();

	public List<Object> getList() {
		return list;
	}

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

	@Override
	public String execute() throws Exception {
		// TODO Auto-generated method stub
		for(int i=0;i<3;i++){
			Map<String,Object> map=new HashMap<String, Object>();
			map.put("userName", "admin"+i);
			map.put("password", "123456"+i);
			map.put("name", "zhangsan"+i);
			list.add(map);
		}
		return "success";
	}
}

struts.xml源码:

<?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>
<constant name="struts.devMode" value="true" />
<package name="default" extends="struts-default" namespace="/">
	<action name="sa" class="com.test.Struts2Test" >
		<result name="success">/success.jsp</result>
	</action>
</package>
</struts>

web.xml源码:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

  <filter>
  	<filter-name>struts2</filter-name>
  	<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
  <filter-mapping>
  	<filter-name>struts2</filter-name>
  	<url-pattern>/*</url-pattern>
  </filter-mapping>

</web-app>

index.jsp源码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<%@taglib prefix="sx" uri="/struts-dojo-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
  <head>
  	<!-- 下面的头信息不可或缺,否则程序会报错! -->
  	<!-- 不加下面的头信息,错误信息为:ReferenceError: djConfig is not defined -->
  	<s:head/>
  	<sx:head parseContent="true"/>
  	<!-- 上面的头信息不可或缺,否则程序会报错! -->
    <base href="<%=basePath%>">
    <title>My JSP 'index.jsp' starting page</title>
  </head>
  <body>
  	<s:url id="te" value="/sa.action"></s:url>
  	<sx:div href="%{te}" delay="3000">
	  	<div align="center">
	  		<p>此处内容即将显示</p>
	  	</div>
  	</sx:div>
  </body>
</html>

success.jsp源码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<%@taglib prefix="sx" uri="/struts-dojo-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
  <head>
  	<s:head/>
  	<sx:head parseContent="true"/>
    <base href="<%=basePath%>">
    <title>SUCCESS</title>
  </head>
  <body>
    <div align="center">
    	<table border="1">
    		<thead>
    			<tr>
    				<td>
    					<div>用户名</div>
    				</td>
    				<td>
    					<div>密码</div>
    				</td>
    				<td>
    					<div>真实姓名</div>
    				</td>
    			</tr>
    		</thead>
    		<tbody>
    			<s:iterator value="list">
    				<tr>
    					<td>
    						<div><s:property value="userName"/></div>
    					</td>
    					<td>
    						<div><s:property value="password"/></div>
    					</td>
    					<td>
    						<div><s:property value="name"/></div>
    					</td>
    				</tr>
    			</s:iterator>
    		</tbody>
    	</table>
    </div>
  </body>
</html>

运行的结果:

3秒后显示的结果:

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-12 19:59:59

Struts2-Ajax无刷新显示信息的相关文章

Ajax无刷新显示

前台页面 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="QianBao.Dictionary.WebForm1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http

struts2+jquery 实现ajax无刷新更新数据

前几天为了实现一个struts 的 ajax无刷新更新数据的例子,发现网上资料很少,很多已经过时或者链接都失效了 不过整合他们的资料,加上自己的研究,终于实现了效果 要求:1.各个学院提交学生数据到服务器,要求ajax 无刷新更新数据, 2.服务器端返回"更新成功"的提示窗口: 3.之后,使用jquery 更新input输入框的value值,为实现jquery 打印页面局部数据做准备. 此处使用struts2的第二种方法,(修改struts 配置文件,增加ajax package 的方

Struts2+Jquery+实现Ajax无刷新验证用户名是否存在

小弟之前一直搞不明白Struts2+Jquery+实现Ajax无刷新验证用户名该怎么弄,后来经过努力,终于搞定了,应注意struts配置文件的内容,好了直接上代码了 页面代码 <body> <s:form action="registAction" method="post" namespace="/user"> <table> <tr> <td>UserName</td>

struts2 + ajax + json的结合使用,实例讲解

struts2用response怎么将json值返回到页面javascript解析,这里介绍一个struts2与json整合后包的用法. 1.准备工作 ①ajax使用Jquery:jquery-1.4.2.min.js ②struts2与json的依赖包:struts2-json-plugin-2.2.3.jar PS:版本可自己控制!~ 2.过程 ①引入json依赖包 ②编写action类 ③配置struts.xml ④编写页面 ⑤测试 3.实例 ① action类,JsonAction  注

struts2+ajax实现异步验证

由于老师布置作业的需要,在添加管理员的时候,要实现验证添加的管理员的用户名是否在数据库中已经存在,然后再客户端给用户一个提示.我首先想到的就是利用ajax实现异步验证技术,由于利用的ssh框架,所以在这要对struts2和ajax进行整合,由于我还没把ajax的一些知识总结出来,所以在这也不提了,有关ajax的详细内容将会在以后的博客中写出来.现在我们就以我做的这个添加管理员,验证管理员的用户名是否存在来说一下这个struts2+ajax实现异步验证技术. 首先我们来看一下我们的form表单:

struts2+ajax+json实现用户登录

实现的是异步刷新登录功能,返回出错信息时不刷新页面. 前端代码: <%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/

Ajax 无刷新在注册用户名时的应用的代码

var xmlHttp; uName() //用户名失去焦点时 { if(all.uname.=="") { all.l1.innerHTML="不能为空!"; setTimeout("close(1)",1500); return; } else { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); xmlHttp.onreadystatechange=deal; //回调函数

Struts2+AJAX获取json数据

昨天晚上遇到了一个bug,是ajax调用struts2里面的方法获取json的问题,虽然现在那个问题没有解决,但是各种百度后,发现对stuts2跟ajax的交互认识又深了. 一,如果设置Action返回的结果为json类型 如上图,如果要这个action返回的结果为json,首先要指定包继承为json-default,之后,在result里面,指明type="json". <result>节点中还可以添加param参数,来指定序列化的参数:从哪儿开始序列化,序列化谁,不序列

EasyUI + Struts2 + Ajax 显示 easyui datagrid 分页效果

1.Html代码 1 <script type="text/javascript" src="/js/easyui/jquery.min.js"></script> 2 <script type="text/javascript" src="/js/easyui/jquery.easyui.min.js"></script> 3 <script type="tex