第一种:以ActionContext类访问ServletAPI
示例代码: [color=red](注:request,sesssion,application用MaP集合存)
[/color]
public class UserAction extends ActionSupport {
private String username;
private String password;
private Map<String ,Object> request;
private Map<String ,Object> session;
private Map<String ,Object> application;
public String login(){
//获取对象
ActionContext ac=ActionContext.getContext();
[color=red][size=large]request=(Map<String, Object>) ac.get("request");[/size][/color]//request对象必须用参数“request”获取
session=ac.getSession();
application=ac.getApplication();
//保存数据
request.put("loginCity", 北京");
session.put("username", username);
application.put("online", "在线人数:XXX");
return SUCCESS;
}
//setter/getter方法省略
}
页面:用<s:property value="#request.loginCity"/> 抬头导入struts标签库
二。使用Ioc方式
使用哪个对象,则实现哪个接口,实现接口后实现接口的方法,把参数的值赋给成员变量
示例:action代码:
public class UserAction extends ActionSupport implements RequestAware,SessionAware,ApplicationAware{
private String username;
private String password;
private Map<String ,Object> request;
private Map<String ,Object> session;
private Map<String ,Object> application;
public String login(){
//保存数据
request.put("loginCity", 北京");
session.put("username", username);
application.put("online", "在线人数:XXX");
return SUCCESS;
}
public void setRequest(Map<String, Object> request) {
this.request=request;
}
public void setSession(Map<String, Object> session) {
this.session=session;
}
public void setApplication(Map<String, Object> application) {
this.application=application;
}
//setter/getter方法
}
页面如第一方法所示
分享到:
相关推荐
Struts2的Action并未直接与任何Servlet API耦合,这是Struts2的一个改良之处,因为Action类不再与Servlet API耦合,能更轻松的测试该Action。但如何访问? Web应用中通常需要访问的Servlet API就是...
3、Struts1 与ServletAPI、strutsAPI 紧密耦合;Struts1 则不 4、Struts2 利用拦截器进行AOP 编程,实现如权限拦截功能 5、Struts2 提供了类型转换器 6、Struts2 提供多种表现层技术,如JSP/Freemarker/Velocity 等 ...
Action的execute 默认方法不再与Servlet API耦合,更易测试 支持更多视图技术(JSP(转译java文件,编译成class文件,才可以运行)、(模板技术,html,把数据和模板html一起以流方式输出)FreeMarker、Velocity) 基于AOP...
Struts2环境搭建 Struts2类型转换 Struts2输入校验 拦截器 文件的上传与下载 Struts2的国际化 深入探析 struts2与servlet API耦合方法
1 > 在软件设计上Struts2没有像struts1那样跟Servlet API和struts API有着紧密的耦合,Struts2的应用可以不依赖于Servlet API和struts API。 Struts2的这种设计属于无侵入式设计,而Struts1却属于侵入式设计。
其次,Struts1与Servlet API的严重耦合,使应用难于测试。最后,Struts1代码严重依赖于Struts1 API,属于侵入性框架。 从目前的技术层面上看,出现了许多与Struts1竞争的视图层框架,比如JSF、Tapestry和 Spring ...
Struts is a set of cooperating classes, servlets, and JSP tags that make up a reusable MVC 2 design. This definition implies that Struts is a framework, rather than a library, but Struts also contains...
与serlvetAPI严重耦合..无法摆脱容器 action与web层耦合.不方便测试 标准struts的action是非线程安全(很多简历上写着"精通Struts"的高手们都忽视的问题) 不熟悉: struts标签库没怎么用过(常用jstl) 国际化只...
Struts2以核心控制器FilterDispatcher为基础,包含了框架内部的控制流程和处理机制。 Hibernate工作原理,Hibernate数据持久化? 答:Hibernate工作原理: 1:读取并解析映射信息,创建SessionFactory 2:打开...
int 32bit, -2^31~2^31-1 (2147483648,20亿,10位有效数字) long 64bit, -2^63~2^63-1 (900亿亿,20位有效数字) float 32bit, 9位有效数字,含小数(四舍五入)(小数点算一位,正负号不算) double 64bit, 18位...
国内知名的高端IT技术作家,已出版《Spring 2.0宝典》、《基于J2EE的Ajax宝典》、《轻量级J2EE企业应用实战》、《Struts 2权威指南》、《Ruby On Rails敏捷开发最佳实践》等著作。 目录: 第0章 学习Java...