大家都是怎么学习struts2的?

zhangye0807 2009-10-25 07:22:14
感觉都不知道从哪里下手,下了个英文的api,自带的doc文件也看了,也是英文的,有点头大,不好怎么用,今天搞了老半天就搞出个登陆的来,大家有什么好的教程,给我介绍一下吧

还有那种如com.opensymphony.xwork2.ModelDriven形式的包在哪里啊?我找遍了struts整个包都没有找着!!

import java.util.Collection;

import org.apache.struts2.dispatcher.ServletActionRedirectResult;
import org.apache.struts2.rest.DefaultHttpHeaders;
import org.apache.struts2.rest.HttpHeaders;
import org.apache.struts2.convention.annotation.Results;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Namespaces;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.InterceptorRef;

import com.opensymphony.xwork2.ModelDriven;
import com.opensymphony.xwork2.Validateable;
import com.opensymphony.xwork2.ValidationAwareSupport;

@Results({
@Result(name="success", type="redirectAction", params = {"actionName" , "orders"})
})
public class OrdersController extends ValidationAwareSupport implements ModelDriven<Object>, Validateable{

private Order model = new Order();
private String id;
private Collection<Order> list;
private OrdersService ordersService = new OrdersService();

// GET /orders/1
public HttpHeaders show() {
return new DefaultHttpHeaders("show");
}

// GET /orders
public HttpHeaders index() {
list = ordersService.getAll();
return new DefaultHttpHeaders("index")
.disableCaching();
}

// GET /orders/1/edit
public String edit() {
return "edit";
}

// GET /orders/new
public String editNew() {
model = new Order();
return "editNew";
}

// GET /orders/1/deleteConfirm
public String deleteConfirm() {
return "deleteConfirm";
}

// DELETE /orders/1
public String destroy() {
ordersService.remove(id);
addActionMessage("Order removed successfully");
return "success";
}

// POST /orders
public HttpHeaders create() {
ordersService.save(model);
addActionMessage("New order created successfully");
return new DefaultHttpHeaders("success")
.setLocationId(model.getId());
}

// PUT /orders/1
public String update() {
ordersService.save(model);
addActionMessage("Order updated successfully");
return "success";
}

public void validate() {
if (model.getClientName() == null || model.getClientName().length() ==0) {
addFieldError("clientName", "The client name is empty");
}
}

public void setId(String id) {
if (id != null) {
this.model = ordersService.get(id);
}
this.id = id;
}

public Object getModel() {
return (list != null ? list : model);
}

}
...全文
352 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzc_zxy 2009-10-26
  • 打赏
  • 举报
回复
struts2 in action 我入门struts2的教程。只看了一点教程然后 就开始做项目了 逐渐的就熟悉了
blliy117 2009-10-25
  • 打赏
  • 举报
回复
struts2我就买了一本书

孙鑫的
struts2深入详解
yate123 2009-10-25
  • 打赏
  • 举报
回复
就说按书的学,再做几个例子就可以了啊,把其他做过的东西用struts2再做一遍就可以了
haojia0716 2009-10-25
  • 打赏
  • 举报
回复
struts-2.1.6\lib\xwork-2.1.2.jar
zhangye0807 2009-10-25
  • 打赏
  • 举报
回复
重点回答下我的第二个问题吧,就那些个包在哪,我找老半天了!
cooler4k 2009-10-25
  • 打赏
  • 举报
回复
去下个教程 《STRUTS2 权威指南》看看吧,驴子上有,
驴子上也有视频教程
zl3450341 2009-10-25
  • 打赏
  • 举报
回复

还是用struts1.2的飘过
这是一个实际使用中的项目,可访问 http://cdbke.cuit.edu.cn 可查看效果及功能,后台需要登录后才能使用(出于安全性考虑这里就不给大家介绍了,另外还有一个struts1版本的,如有需要可以与我联系)。 此项目整合了目前主流和最前源的web开发技术:采用ehcache实现二级缓存(包含查询缓存);用sf4j及logback(log4j的升级版)记录日志;proxool(据说是dbcp和c3p0三者中最优秀的)做连接池;使用jquery的ajax实现仿google人名自动补全;头像上传剪切压缩处理。 包含有完整的jar包和源代码,可以直接下载编译部署和运行,这是专门为我们实验室定制开发的。虽然后台逻辑并不复杂,但已经包含了架构基于s2sh技术型系统的全部基础部分:如分页,缓存,文件上传,连接池等。很适合学习使用,希望对初学JavaEE WEB开的人有所帮助。 这个资源在去年发布了第一版,已经有很多朋友下了觉得对他们有帮助,所以我才再发了一个第二版,希望对有需要的朋友有所帮助。本版本全面更新了jar包,全部使用了当前最新版本的jar包,struct2.1.8 spring3 hibernate3.5,全面使用注解取代xm的l配置。 另外增加了一个ant构建脚本,支持使用hudson完成每日构建,持续集成,自动测试,代码规范检查,代码审查等功能(与此相关的jar包由于上传文件大小限制未导入) 本系统一直在使用中,所以还会不段更新,之后我打算再做一个基于javaee6的实现,给需要想学习ejb3.1等技术的朋友一个参考实现 集成测试相关jar包和更新构建脚本下载:http://download.csdn.net/source/2427972

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧