Struts里面的Action
2015-09-02 16:18
507 查看
Action的实现
意义:用来对用户请求进行处理,称为业务逻辑器,在struts.xml里面进行配置用法:
1、首先对用户进行的请求变量(即Http请求参数),都有相应的Setter和getter方法
2、需要实现无参方法 public String execute ()
3、同时可以封装处理结果,private String tip;
对于封装的变量的输出方式,可以用
<s:property value="tip" />
Action接口和ActionSupport基类
五个标准返回字符串 ERROR LOGIN SUCCESS INPUT NONEAction访问ServletAPI
1、Servlet API的三个接口 HttpServletRequest HttpServletResponse 和ServletContext2、提供一个ActionContext类来访问 Servlet API
3、ServletActionContext
配置Action
package的配置
<package name="default" extends="struts-default">
这个包里面有两个属性:
name:定义这个包的名字,即如果其他的包需要用这个包,则可以用该名字来指定
extends:指定继承的包,该包为struts自己所带的包
<package name="skills" extends="default" namespace="/skill" >
该包里面指定namespace的空间,该空间的用处主要处理在同一个Web应用里面有同名的Action,则在
调用同名Action时,需要添加namespace 来限定区别
abstract属性用来定义是否为抽象包
Action的基本配置
<package> <action name="login" class="lee.LoginAction"> </package>
Action所需要的属性,
1、name必须
2、class一般必须,
Action只是一个逻辑控制器,需要将逻辑视图和物理视图之间进行映射,通过<result .../>
进行映射
片段如下所示
<action name="login" class="lee.LoginAction">
<result/>
<result/>
</action>
使用Action的动态方法调用DMI
处理多个逻辑的Action,比如登陆和注册,两个逻辑,则需要用DMI来进行处理DMI方法是指,表单元素的action并不是直接等于某个Action的名字,而是以如下方式来指定表单的action属性。
action="actionName!methodName"
用注册按钮为例,jsp页面中的代码
<input type="submit" value="regist" onclick="regist()">
即单机该按钮,则跳转到函数regist
functon regist() { //获取页面的第一个表单 targetForm = document.forms[0]; //动态修改表单的action属性 targetForm.action = "login!regist" }
则需要在login.java里面添加regist方法即可,而登陆时则用默认的方法execute()方法。
同时,调用动态方法时,需要在配置常量时,设置struts.enable.DynamicMethodInvocation为true。
指定method属性及使用通配符
相关文章推荐
- JQuery+Strusts1.x无刷新登录
- java struts常见错误以及原因分析
- Struts之logic标签库详解
- SSH框架网上商城项目第20战之在线支付平台
- java中struts 框架的实现
- sprng和struts有什么区别?
- SpringMVC+MyBatis项目总结(三)
- MyEclipse7.5+JDK1.6+Tomcat6+Struts1.3+MySQL4.1开发演示
- struts使用拦截器注解
- 懒到极致:对mybatis的进一步精简
- 浅谈struts1和struts2框架(转载+整理)
- Maven搭建struts2+spring+hibernate环境(二)
- Maven搭建struts2+spring+hibernate环境(三)
- 国内首创Java开发者的技术体系
- Struts知识
- struts 获取客户端真实ip
- 转载--Struts1.1 validation framework 使用中的若干经验
- 初探Struts + Hibernate(二) --从HQL中取值
- Struts is History