三级毛片免费看

全站资源开放下载,感谢广大网友的支持
链接失效请移步职业司平台
非盈利平台

非盈利平台

只为分享一些优质内容

Java帮帮-微信公众号

Java帮帮-微信公众号

将分享做到极致

微信小程序

微信小程序

更方便的阅读

职业司微信公众号

职业司微信公众号

实时动态通知

安卓APP

安卓APP

我们从此不分开

程序员生活志-公众号

程序员生活志-公众号

程序员生活学习圈,互联网八卦黑料

我们在书写Action的时候有哪几种方式?他们有什么区别?

12
发表时间:2018-01-16 17:29作者:奋斗蒙来源:Java帮帮

有三种方式:

普通POJO(简单Java对象),这种方式我们不需要继承任何父类,实现任何接口。Struts2框架读取struts.xml文件,获得完整的action类名。

01. obj = Class.forName("完整类名").newInstance();

02. Method m = Class.forName("完整类名").getMethod("execute");  

03. m.invoke(obj); //通过反射 执行execute()方法

编写Action实现Action接口

01. Action接口中,定义默认五种 逻辑视图名称

02. // 数据处理成功 (成功页面)

03. public static final String SUCCESS = "success";

04. // 页面不跳转 return null; 效果一样

05. public static final String NONE = "none";

06. // 数据处理发送错误 (错误页面)

07. public static final String ERROR = "error";

08. // 用户输入数据有误,通常用于表单数据校验 (输入页面)

09. public static final String INPUT = "input";

10. // 主要权限认证 (登陆页面)

11. public static final String LOGIN = "login";

编写Action继承ActionSupport(推荐)

Action中使用表单校验、错误信息设置、读取国际化信息三个功能

01. 代理模式,控制目标对象访问

02. /hello.action 请求时 StrutsPrepareAndExecuteFilter doFilter一定执行

03. //判断配置文件中有没有对应Action

04. ActionMapping mapping = prepare.findActionMapping(request, response, true);

05. //根据配置创建代理对象

06. ActionProxy proxy = config.getContainer().getInstance(ActionProxyFactory.class).createActionProxy(namespace, name, method, extraContext, true, false);  

07. 执行时:先执行interceptorintercept拦截方法, 最后指向actionexecute


文章分类: 技术面试
分享到:
Java帮帮学习群生态

Java帮帮学习群生态

总有一款能帮到你

Java学习群

Java学习群

与大牛一起交流

大数据学习群

大数据学习群

在数据中成长

九点编程学习群

九点编程学习群

深夜九点学编程

python学习群

python学习群

人工智能,爬虫

测试学习群

测试学习群

感受测试的魅力

Java帮帮生态承诺

Java帮帮生态承诺

一直坚守,不负重望

初心
勤俭
诚信
正义
分享
友链交换:加帮主QQ2524138991 留言即可 24小时内答复  
业司
教育资讯
会员登录
获取验证码
登录
登录
我的资料
留言
回到顶部