struts2_json:快速导引
基本结构:
1.action类
2.utils类(存放BaseAction基类)
3.domain类(存放实体User类)
4.config文件(与src同级,用于存放配置文件)
5.在webroot下创建js文件夹,引入jquery-1.8.3.js
6.index.jsp(用于json传值的显示)
01:引入Struts2——json开发所需的jar包
jar包如下:(存在部分用于Hibernate开发所使用的jar包)
antlr-2.7.6.jar
asm-3.3.jar
asm-commons-3.3.jar
asm-tree-3.3.jar
commons-collections-3.1.jar
commons-fileupload-1.3.jar
commons-io-2.0.1.jar
commons-lang3-3.1.jar
commons-logging-1.1.3.jar
dom4j-1.6.1.jar
freemarker-2.3.19.jar
javassist-3.12.0.GA.jar
jta-1.1.jar
log4j-1.2.17.jar
slf4j-api-1.6.1.jar
struts2-core-2.3.15.3.jar
struts2-json-plugin-2.3.4.1.jar
xwork-core-2.3.15.3.jar
02:文件配置
配置web.xml
<filter>
<filter-name>struts2</filter-name>
<filterclass>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
创建并配置struts.xml文件(存放于config目录下)
<?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.ui.theme" value="simple"></constant>
<constant name="struts.devMode" value="true"></constant>
<package name="default" extends="json-default" namespace="/">
<action name="testJson" class="cn.itcast.action.TestJson">
<result type="json">
</result>
</action>
</package>
</struts>
03:action编写
TestJson:
public class TestJson extends BaseAction{
private List<User> list = null;
@Override
public String execute() throws Exception {
list = new ArrayList<User>();
list.add(new User("赵",12));
list.add(new User("钱",13));
list.add(new User("孙",14));
list.add(new User("李",15));
list.add(new User("周",16));
return SUCCESS;
}
//list的get-set方法
public List<User> getList() {
return list;
}
public void setList(List<User> list) {
this.list = list;
}
}
04:domain类(User)
User:(提供两个属性)
private String name;
private int age;
05:
测试json传值
http://localhost:8080/项目名/'struts.xml中的对应action名称'
06:
jsp接收后台传值(index.jsp)
<script type="text/javascript"> //js代码
$(function(){
$.ajax({
url:'testJson', //访问路径
type:'post', //请求方式
dataType:'json', //数据类型
success:function(data){//数据接收
for ( var i = 0; i < data.list.length; i++) {
$("select:first").append('<option value="'+data.list[i].name+'">'+data.list[i].name+','+data.list[i].age+'</option>');
}
}
});
});
</script>
<body>
<select><option value="">--请选择--</option></select>
</body>
07:测试
http://localhost:8080/hibernate_04/index.jsp