简单的struts2框架(五)---json
接连以上1到4的struts框架,本次是关于json
因为要用json所以要加组件
加载struts2-json-plugin-2.3.16.3.jar 打开它的struts-plugin.xml,
会发现<package name="json-default" extends="struts-default">
即它继承了struts-default,所以struts.xml里的extends="json-default"
如:
1 struts.xml:
2
3 <package name="news" namespace="/news" extends="json-default">
4 <action name="newsAction_*" class="action.NewsAction" method="{1}">
5 <result name="news_list_json" type="json">
6 <param name="root">newsLsit</param>
7 <param name="excludeNullProperties">true</param>
8 <!-- <param name="excludeProperties"></param> -->
9 <param name="includeProperties">
10 <!--json为实体时,直接写属性名,多个逗号分隔: name,id -->
11 <!--list时: \[\d\]相当于一个实体-->
12 \[\d\]\.newsId,
13 \[\d\]\.newsTitle
14 </param>
15 </result>
16 </action>
17 </package>
先了解下面几个的含义
<param name="excludeNullProperties">true</param>排除值为null的
<param name="excludeProperties"></param>json里包含哪些属性
<param name="includeProperties"></param>json里不包含哪些属性
不是所有的都转换为json,所以要加限制,即<param name="root">newsLsit</param>
同时在action里将list声明为属性 private List<News> newsLsit;,并且加入set,get方法
代码:
1 NewsAction.java:
2
3 package action;
4 import java.util.List;
5 import service.NewsService;
6 import com.opensymphony.xwork2.ActionSupport;
7 import entity.News;
8 public class NewsAction extends ActionSupport{
9 private List<News> newsLsit;
10 private NewsService newsService=new NewsService();
11 public String findNewsList(){
12 newsLsit=newsService.getNewsList();
13 return "news_list_json";
14 }
15
16 public List<News> getNewsLsit() {
17 return newsLsit;
18 }
19 public void setNewsLsit(List<News> newsLsit) {
20 this.newsLsit = newsLsit;
21 }
22 }
各个代码如下:
表示层:jsp页面
<form action="/practice_struts2/news/newsAction_findNewsList.action" method="post">
<input type="submit" value="获得NewsList的json"/>
</form>
业务层: service组件和action
service方法:
1 package service;
2 import java.util.List;
3 import dao.NewsDao;
4 import entity.News;
5 public class NewsService extends NewsDao{
6 public List<News> getNewsList(){
7 //jdbc,调用dao里的相应方法
8 return super.findNews();
9 }
10 }
action上面已有NewsAction 代码
数据访问层:Dao组件:
省略简单的实体和dao方法
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。