Struts1教程之ActionMapping_动力节点Java学院整理
1. 了解ActionMapping
ActionMapping
是 Struts1 框架中的一个重要组件,它主要负责将请求的 URL 映射到相应的 Action 类,以便执行对应的业务逻辑。也就是说,我们可以通过 ActionMapping
来实现 URL 到 Action 类及其方法的映射。
2. ActionMapping类的常用属性
path
:请求路径的前缀,例如,“/user”,表示所有以 “/user” 开头的请求都会由ActionMapping
处理。type
:要执行的Action
类的完全限定名称。scope
:指定保存ActionForm
的作用域,默认为“session”。parameter
:指定将请求参数绑定到的ActionForm
类属性。validate
:指定是否对ActionForm
对象进行验证,通常结合validation.xml
文件使用。forward
:指定转向的 JSP 页面或逻辑名。
3. 实例演示
3.1. 配置ActionMapping
如下是 Struts 配置文件中的一个 ActionMapping
配置示例,用于处理登录请求:
<action path="/login.do" type="com.example.actions.LoginAction" validate="true">
<forward name="success" path="index.jsp"/>
<forward name="error" path="login.jsp"/>
</action>
如果我们向 /login.do
发送请求,Struts1 会自动按照上述配置,将请求转发给com.example.actions.LoginAction
类的 execute()
方法,并根据 execute()
方法的返回值,进一步将请求转发给对应的 JSP 页面。
3.2. 实现Action类
下面是 LoginAction
类的实现代码:
public class LoginAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
LoginForm loginForm = (LoginForm) form;
String username = loginForm.getUsername();
String password = loginForm.getPassword();
if ("admin".equals(username) && "123456".equals(password)) {
return mapping.findForward("success");
} else {
return mapping.findForward("error");
}
}
}
在 execute()
方法中,我们首先将 ActionForm
参数转换为特定的 LoginForm
类,然后从中获取用户名和密码参数,进行简单的认证。如果认证通过,则返回 ActionForward
类型的成功转发,否则返回失败转发。
4. 总结
通过上述示例,我们可以看到,通过 ActionMapping
配置,我们可以灵活地将 URL 映射到对应的 Action 类及其方法,并实现业务逻辑的复杂处理。同时,我们也可以使用 ActionMapping
配置中的其他属性,来控制 Action 处理的作用域、参数绑定、表单验证等行为。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Struts1教程之ActionMapping_动力节点Java学院整理 - Python技术站