struts2學習之一:[url]http://arthur2014.iteye.com/admin/blogs/2162974[/url]
struts2學習之三-spring注解:[url]http://arthur2014.iteye.com/admin/blogs/2162996[/url]
struts2學習之四-struts2注解:[url]http://arthur2014.iteye.com/admin/blogs/2163348[/url]
增加的jar包是struts2-json-plugin
1、修改struts.xml檔案,package不再繼承struts-default,而要繼承json-default,修改如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="test" extends="json-default" namespace="/a">
<interceptors>
<interceptor-stack name="paramStack">
<interceptor-ref name="json" /><!-- 參數以json格式傳輸 -->
<interceptor-ref name="defaultStack" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="paramStack" />
<global-results>
<result name="json" type="json">
<!-- false表示父類的屬性在在json中傳回 -->
<param name="ignoreHierarchy">false</param>
</result>
</global-results>
</package>
</struts>
2、抽象action父類:
3、實作類UserJsonAction,以後的注解練習都會基于這個類寫:
User.java
4、編寫result.jsp,以ajax方式擷取資料:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
<script type="text/javascript" src="<%=path%>/js/jquery-1.8.0.min.js"></script>
</head>
<body>
世界,你好.
<br>
</body>
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
type : "post",
url : "userJson.action?name=tom",
dataType : "json",
success : function(data) {
alert(data.data.name);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
}
});
});
</script>
</html>
5、在struts.xml檔案中添加如下代碼:
<action name="userJson" class="com.haochen.action.UserJsonAction"></action>
6、釋出,通路http://localhost:8080/struts2demo/a/helloworld.action,提示“tom”表示成功。