简单的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方法

时间: 2024-10-16 17:20:30

简单的struts2框架(五)---json的相关文章

简单的struts2框架(三)

相对于上篇博客<简单的struts2框架(二)>的改变,action的动态调用: 在struts.xml方法调用 1 <action name="userAction_*" class="action.UserAction" method="{1}"> 2 <result name="success" type="dispatcher">/user/Success.jsp

简单的struts2框架(四)---封装实体

接着以前的<简单的struts2框架(三)>,进一步优化 封装实体: 在action声明实体类:private Users user; 对实体类进行get,set方法 这样在方法里就不用对实体类进行一个个属性set值了,直接调用实体就可以了,免去了原来赋值的很多代码 代码: 1 private Users user; 2 private UserService userservice=new UserService(); 3 /** 4 * 用户注册 5 * @return 6 */ 7 pu

简单说struts2框架运行流程

(1)提交请求客户端通过HttpServletRequest向servlet容器(即tomcat)提交一个请求.请求经过一系列的过滤器,例如图中的ActionContextCleanUp和Other filter(SlterMesh,etc)等,最后被struts的核心过滤器FilterDispatcher控制到.注:核心控制器2.1.3版本之后,struts的filterDispatcher核心控制器变成了StrutsPrepareAndExecuteFilte被核心控制器控制到之后才会访问A

和Struts2框架的初体验

Struts2的基础知识 问题一:什么是框架 框架是一个基本概念上的结构用于解决复杂的问题,应用在特定的领域内.使用框架可以使代码的复用大大提高,开发效率和质量也得到提高;他提供统一的标准,使后期维护的时间大大降低.归根到底框架就是用来提高开发效率的一种工具. 问题二:什么是Struts2框架 简单来说Struts2框架是基于MVC设计模式的Web应用框架,他本质相当于一个Servlet,所以他在MVC设计模式中相当于一个控制器,用来建立模型和视图的数据交互. 问题三:为什么使用Struts2而

5.Struts2框架中的ServletAPI如何获取

1.完全解耦合的方式 如果使用该种方式,Struts2框架中提供了一个类,ActionContext类,该类中提供一些方法,通过方法获取Servlet的API 一些常用的方法如下 * static ActionContext getContext() -- 获取ActionContext对象实例 * java.util.Map<java.lang.String,java.lang.Object> getParameters() -- 获取请求参数,相当于request.getParameter

搭建一个简单struts2框架的登陆

第一步:下载struts2对应的jar包,可以到struts官网下载:http://struts.apache.org/download.cgi#struts252 出于学习的目的,可以把整个完整的压缩文件都下载下来. 里面包括:1 apps:示例应用,对学习很有帮助 : 2 docs:相关学习文档.API文档等: 3 lib:核心类库,依赖包: 4:src:源代码 第二步:在eclipse新建一个Dynamic Web Project类型工程,一直点next,记得勾选generate web.

我为什么支持高校的信息系统放弃Apache Struts2框架(五)

月初听闻广东某高校(中山大学)发布通知:关于停止使用Apache Struts2开发框架的通知 鉴于S2漏洞较多.维护难度较大,为防范控制网络安全风险,经研究决定,新建信息化项目不得使用S2: 在用S2的信息系统(网站)应尽快转用其他更安全的MVC框架(如Spring MVC等):从即日起,使用S2的信息系统(网站)将仅限校园网内访问. 作为信息安全爱好者,个人对学校的决定是举双手支持的,Struts 2框架在安全方面似乎有着与生俱来的缺陷,与同类开源项目相比,它的问题是在是太多了.下面说一下我

使用Eclipse搭建Struts2框架

本文转自http://blog.csdn.net/liaisuo/article/details/9064527 今天在Eclipse搭建了Struts2 框架,并完成了一个很简单的例子程序. 搭建好的全局图如下: 第一步:在http://struts.apache.org/download.cgi下载Struts2的最新版即下载Full Distribution,这是Struts2的完整版 第二步:解压下载的压缩包.在struts-2.3.14.3 -> lib路径下拷贝出上图所示的8个jar

Struts2框架具体解释

在Struts2的Model-View-Controller模式实现下面五个核心组件: 动作-Actions 拦截器-Interceptors 值栈/OGNL 结果/结果类型 视图技术 Struts 2和传统的MVC框架有些不同,在该框架中的作用的模式,而不是控制器的作用略有不同.尽管有一些重叠. 这是Struts的MVC模式的体系结构概述. 上图描写叙述了Struts2的高层体系结构模型.视图和控制器. 一个Struts2的调度Servlet过滤器和拦截器与控制器实现.该模型实现的动作和视图的