package com.xp.action;
import java.util.ArrayList;
import java.util.List;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
import org.apache.struts2.rest.DefaultHttpHeaders;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
@Results(@Result(name="success", type="redirectAction", params = {"actionName" , "book"}))
public class BookAction extends ActionSupport implements ModelDriven<Object> {
// 封装 id 请求参数的属性
private int id;
private Book bookObject = new Book();
private List<Book> list;
private List<Book> list1;
private BookService bookService = new BookService();
private String name;
// 处理不带 id 参数的 GET 请求 // 进入首页
public org.apache.struts2.rest.HttpHeaders index(){
list = bookService.getAll();
return new DefaultHttpHeaders("index").disableCaching();
}
// 处理不带 id 参数的 POST 请求 // 保存新图书
public org.apache.struts2.rest.HttpHeaders create(){
bookService.saveOrUpdate(bookObject); // 保存图书
addActionMessage("添加图书成功");
System.out.println("添加图书成功");
return new DefaultHttpHeaders("success").setLocationId(bookObject.getId());
}
// 处理带 id 参数的 PUT 请求 // 修改图书
public String update(){
bookService.saveOrUpdate(bookObject);
addActionMessage("图书编辑成功!");
System.out.println("图书编辑成功!");
return "success";
}
// 处理带 id 参数、且指定操作 edit 资源的 GET 请求 // 进入编辑页面 (book-edit.jsp)
public String edit(){
System.out.println("name:1`1111111111111111"+name);
return "edit";
}
// 处理带 id 参数的 DELETE 请求 // 删除图书
public String destroy() {
bookService.remove(id);
addActionMessage("成功删除 ID 为" + id + "的图书!");
System.out.println("成功删除 ID 为" + id + "的图书!");
return "success";
}
// 处理不带 id 参数的 GET 请求 // 进入添加新图书。
public String editNew(){
// 创建一个新图书
bookObject = new Book();
return "editNew";
}
// 处理带 id 参数的 GET 请求 // 显示指定图书
public org.apache.struts2.rest.HttpHeaders show(){
return new DefaultHttpHeaders("show");
}
// 处理带 id 参数,且指定操作 deleteConfirm 资源的方法 // 进入删除页面 (book-deleteConfirm.jsp)
public String deleteConfirm() {
return "deleteConfirm";
}
//这是用来返回json xml 等格式数据的
public Object getModel(){ // 实现 ModelDriven 接口必须实现的 getModel 方法
List<Book> list12=new ArrayList<Book>();
list = bookService.getAll();
list1 = bookService.getAll1();
for(Book b:list){
list12.add(b);
}
for(Book b:list1){
list12.add(b);
}
return (list12 != null ? list12 : bookObject);
}
public void setId(int id){ // 实现 ModelDriven 接口必须实现的 getModel 方法
this.id = id;
// 取得方法时顺带初始化 model 对象
if (id > 0){
this.bookObject = bookService.get(id);
}
}
public int getId(){
return this.id;
}
public Book getBookObject() {
return bookObject;
}
public void setBookObject(Book bookObject) {
this.bookObject = bookObject;
}
public List<Book> getList() {
return list;
}
public void setList(List<Book> list) {
this.list = list;
}
public List<Book> getList1() {
return list1;
}
public void setList1(List<Book> list1) {
this.list1 = list1;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
安装 REST 插件非常简单,只需按如下步骤进行即可: 将 Struts 2 项目下 struts2-convention-plugin-2.1.6.jar、struts2-rest-plugin-2.1.6.jar 两个 JAR 包复制到 Web 应用的 WEB-INF/lib 路径下。 由于 Struts 2 的 REST 插件还需要将提供 XML、JSON 格式的数据,因此还需要将 xstream-1.2.2.jar、json-lib-2.1.jar、ezmorph-1.0.3.jar 以及 Jakarta-Common 相关 JAR 包复制到 Web 应用的 WEB-INF/lib 路径下。 通过 struts.xml、struts.properties 或 web.xml 改变 struts.convention.default.parent.package 常量的值,让支持 REST 风格的 Action 所在的包默认继承 rest-default,而不是继承默认的 convention-default 父包。
资源推荐
资源详情
资源评论
收起资源包目录
restdemo.rar (36个子文件)
restdemo
.project 1KB
src
test
resources
java
main
webapp
WEB-INF
content
book-index.jsp 1KB
a.jsp 415B
book-show.jsp 444B
book-editNew.jsp 903B
book-deleteConfirm.jsp 448B
book-edit.jsp 1KB
web.xml 1KB
index.jsp 1KB
resources
struts.xml 698B
java
com
xp
action
Bean.java 318B
BookService.java 2KB
TestAction.java 2KB
Book.java 683B
AooAction.java 420B
BookAction.java 4KB
target
m2e-wtp
web-resources
META-INF
MANIFEST.MF 106B
maven
restdemo
restdemo
pom.properties 213B
pom.xml 389B
classes
struts.xml 698B
com
xp
action
AooAction.class 828B
BookAction.class 4KB
BookService.class 3KB
Book.class 1KB
Bean.class 694B
TestAction.class 2KB
test-classes
.settings
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.common.project.facet.core.xml 252B
org.eclipse.m2e.core.prefs 90B
org.eclipse.jdt.core.prefs 430B
org.eclipse.wst.validation.prefs 50B
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.wst.common.component 667B
.jsdtscope 575B
pom.xml 389B
.classpath 3KB
共 36 条
- 1
曾经征服过熊
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页