您的位置:首页 > 编程语言 > Java开发

Struts2学习系列 -- Struts2增加json插件2 + ajax请求

2013-01-31 18:26 691 查看
主要jar包:

springframework 3.1.1版本

struts2 2.3.4.1版本

其他

js包:

jquery.ms.js

 

 

Domain

 

Device2.java:

public class Device2 {

private String deviceId;
private String userName;
private String pwd;
private String netAddr;
private String netPort;
// set/get方法略
}

 
Action类:

@Component

@Scope("prototype")
@SuppressWarnings("serial")
public class MyAction extends ActionSupport{
private Device2 device;
private Integer id;
private String result;

public String add3(){
System.out.println("add3");
System.out.println(device);
//	result = "{name:pxj, password:'登录成功!'}";
result = device.toString();
return SUCCESS;
}

// set/get方法略
}

 
struct.xml重点配置如下

 

<package name="struts3" extends="struts-default,json-default" namespace="/">
<action name="myAction3" class="myAction" method="add3">
<result  type="json">
<param name="root">result</param>
</result>
</action>
</package>

 

 包必须继承json-default。

result的type为json,其中root参数的值result表示将对应action中属性为result属性值返回给客户端。

 

jsp页面:

 

<form action="myAction3" method="post">
设备id:<input type="text"  name="deviceId3" id="deviceId3" /><br>
登陆账号:<input type="text"  name="userName3" id="userName3"  /> <br>
登陆密码:<input type="text"  name="pwd3" id="pwd3"  /> <br>
<input type="button" onclick="onclickSave()"  value="提交" />
<div id="info"></div>
</form>

 
js代码如下:

 

 

<script src="jquery/jquery.min.js" type="text/javascript"></script>
<script>

function onclickSave()
{

$.post('myAction3',
{
"device.deviceId":$('#deviceId3')[0].value,
"device.userName":$('#userName3')[0].value,
"device.pwd":$('#pwd3')[0].value
//	loginName:$('#userName2')[0].value,
//	loginPwd:$('#pwd2')[0].value

},
function(data){
alert(data);//请求返回的内容
},'json');
}

</script>

 
web.XML

 

<context-param>
<param-name> contextConfigLocation </param-name>
<param-value>
/WEB-INF/config/spring_business.xml
</param-value>
</context-param>

<listener>
<listener-class> org.springframework.web.context.ContextLoaderListener </listener-class>
</listener>

<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>

 
spring_business.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation=" http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">

<!--    -->
<context:annotation-config />
<context:component-scan base-package="
com.hry.action
" />
</beans>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: