最近我接手一个J2EE项目,我是项目中期才进去,进去才发现这个问题,其界面显示和提交全部用jquery+strut2+json来实现的,其中我只熟悉struts2,那两都没用过,不过为了能够完成任务,只能从头学习了.在网上找了好多例子,可是感觉都已经是老版本的啦,新的写法已经有所不同,所以老是达不到想要的效果,不过经常几天的努力终于完成了第一个例子.该例子只用了一个regist.jsp,我们通过数据通过json方式提交,并返回数据回显到界面上.
开发环境:MyEclipse 6.0
jars : commons-logging-1.0.4.jar
freemarker-2.3.13.jar
ognl-2.6.11.jar
struts2-core-2.1.6.jar
xwork-2.1.2.jar
commons-fileupload-1.2.1.jar
json: jsonplugin-0.33.jar
jquery: jquery-1.3.1.js
把上面所列的jar放到lib文件夹下,在WebRoot下面新建一个js文件夹,把jquery-1.3.1.js复制其下面.
下面开始例子:
1.首先我新建一个名为 JSJWeb 的 Web Project
2.修改web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Struts 2.0 Hello World</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
3.在src下面添加一个名叫struts.xml,内容如下:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<include file="struts-default.xml"/>
<package name="tutorial" extends="struts-default">
<action name="personAction" class="tutorial.action.PersonAction">
<result>/regist.jsp</result>
</action>
</package>
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
<package name="personjson" extends="json-default">
<action name="personAjaxAction" class="tutorial.action.PersonAction">
<result type="json"/>
</action>
</package>
</struts>
4.在src中的tutorial.entity包下新建Person 实体类
package tutorial.entity;
public class Person {
private String authorid;
private String authorname;
public String getAuthorid() {
return authorid;
}
public void setAuthorid(String authorid) {
this.authorid = authorid;
}
public String getAuthorname() {
return authorname;
}
public void setAuthorname(String authorname) {
this.authorname = authorname;
}
}
5. 在src中的tutorial.action包下新建PersonAction Action类
package tutorial.action;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
import tutorial.entity.Person;
import com.opensymphony.xwork2.ActionSupport;
public class PersonAction extends ActionSupport implements ServletRequestAware {
private static final long serialVersionUID = 4787323253923443929L;
private HttpServletRequest request;
private Person person;
@Override
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
public String ShowPersonInfo()
{
person = new Person();
person.setAuthorid(request.getParameter("authorid"));
person.setAuthorname(request.getParameter("authorname"));
return SUCCESS;
}
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
}
6.在WebRoot下面添加一个名为regist.jsp
<%@ page language="java" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Regist.jsp</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">
<script type="text/javascript" src="<%=basePath %>js/jquery-1.3.1.js"></script>
</head>
<script type="text/javascript">
function showPersonInfo()
{
var authorid = $("#authorid").val();
var authorname=$("#authorname").val();
$.post("personAjaxAction!ShowPersonInfo.action",{authorid:authorid,authorname:authorname,user:user},callback,"json");
}
function callback(data)
{
var rs = data.person
var html = "";
html+="<table><tr><td>用户编号:</td><td>"+rs.authorid+"</td></tr><tr><td>用户名称:</td> <td>"+rs.authorname+"</td></tr>";
$("#showPersonInfo").html(html);
}
</script>
<body>
<form name="eform" id="eform" method="post" onsubmit="return false;">
用户编号:<input type="text" id="authorid" name="person.authorid"/><br>
用户名称:<input type="text" id="authorname" name="person.authorname"/><br>
<input type="button" value="submit" name="submit" onclick="showPersonInfo();"/>
</form>
<div id="showPersonInfo"></div>
</body>
</html>
以上就是全部所要文件.
现在该是看看效果的时候了,http://localhost:8080/SSH/regist.jsp打开该链接就可以看到效果啦!
如果那里出错请提出来,请见谅,呵呵,谢谢!
本人表达有些问题,随便看看就好.
分享到:
相关推荐
Jquery+struts2上传图片,制作进度条等示例,还有Jquery+Json+Struts实现Ajax技术,还有图形处理技术等,虽然很少,但都有重点突出,由于我也是学习,所以代码不是很简洁,对想学习交流的朋友非常合适
struts2+spring+hibernate+jquery+json 以前没有做过此类的东西终于有时间来试试 可以方便学习
json+jquery+struts2+hibernate+spring 实现的小型bbs系统,这个提供包 ,很不错的下载后,好好徐希一下吧
struts2 json jquery ajax实现用户登陆及业面跳转
jquery+struts2实现文件上传,没有jar包。下载来只需引入struts2jar就可以了
JEECMS使用目前java主流技术架构:hibernate3+struts2+spring2+freemarker。AJAX使用jquery和json实现。视图层并没有使用传统的JSP技术,而是使用更为专业、灵活、高效freemarker。 数据库使用MYSQL,并可支持orcale...
Struts2 Jquery JSON Struts2 Jquery JSON Struts2 Jquery JSON Struts2 Jquery JSON Struts2 Jquery JSON Struts2 Jquery JSON Struts2 Jquery JSON Struts2 Jquery JSON
Springmvc+maven+ajax+jquery+json+mybatis做的登录,注册,增删改查详细注释,大家可以来一下,看看对自己有没有帮助哈,这是我自己一点点的打的,采用MyEclipse 10运行出来.并且付有sql脚本.可直接导入运行.并且经本人...
自己整理的jquery+json+struts2异步传输的例子,包括异步提交form,异步传输json对象。
json + struts2 + 80个JQuery 效果 个例子
通过jQuery获取表单数据,封装到JSON对象,再把JSON对象转为字符串传到Action,接到数据后,再把JSON字符串变为JSON对象,通过JSON的键,取出数据,通过调用数据库返回数据封装在JSON,打印出数据,然后在客户端接收...
NULL 博文链接:https://gongchangming.iteye.com/blog/421351
jquery+struts2+upload。自己做的一个例子
一个用jQuery+struts2完成的省市联动
jquery+struts2
Struts+Jquery+Ajax+Json应用实例,前端引入jquery,后台使用struts框架。前端js调用后台action,并将后台返回的json数据进行解析,设置web页面
jquery + struts1 + ajax学习例子
1、JSON0.34使用的是struts2附带的struts2-json-plugin-2.1.8.1.jar 2、db是mysql,名字为test,用户名root,密码空 3、com.morningstar.utility.WSUtility为调用WebService的客户端代码,在调用这个WebService返回...
SSH +jquery+json做的Ajax级联操作 简练清晰 容易理解 完全可以拷贝引用
结合struts2.3.4+jQuery+mysql+json开发的一个小例子。