structs简单实例及参数配置

开发步骤:

A、首先建立一工程,选择web模块,最后再加载struts包即可。在工程中新建一包,命名为actions,在下面新建一类文件,命名为LoginAction,里面一定要重写execute方法,注意参数的顺序及返回类型都是不可以变化的。

在struts中action类起着控制转向的作用,当我们输入用户名与密码并点了提交按钮后,需要交给控制器来决断我们是转向到登陆成功页还是登陆失败页。LoginAction在此就起这么个功能,具体代码请依照如下所示:

public class LoginAction extends Action {

    public ActionForward execute(ActionMapping actionMapping,
                                  ActionForm actionForm,
                                  HttpServletRequest servletRequest,
                                  HttpServletResponse serveltResponse)
    {
        LoginActionForm loginform = (LoginActionForm) actionForm;//通过页面传参将form表单对象进行强转
        String username = loginform.getUsername();//获得页面的填写信息
        String userpass = loginform.getUserpass();
        boolean flag = false;
        String actionpath = "";
        if (username.equals("123") && userpass.equals("123")) {
            actionpath = "success";
        } else {
            actionpath = "error";
        }
        return actionMapping.findForward(actionpath);//通过actionMapping.findForward("参数值")方法的返回值,与structs-config里面相应的action里的forward相匹配,然后转向
    }
 }

在“LoginAction”中,我们得到一个ActionForm对象,并把它强转成LoginActionForm,
待我们处理,即通过ActionForm的匹配名称的表单自动封装机制,取得用户输入用户名、密码。
我们返回的结果将会被ActionFormward对象所包装,比如这儿的“success“表示用户合法,“error”表示用户不合法,这个字符串将决定着页面的流程控制。它并不是一个具体存在的页面,它是如何跟一个具体的页面关联上的呢?

我们来分析几点:
1、 你在操作时记住的概念:
Struts的核心是Action,而Action的核心就是一个配置文件——struts-config.xml。它既然是核心就很重要哦。
2、 Maping映射://通过方法的映射名称与action里的forward的name属性相匹配,转向相应的页面
a)         actionMapping.findForward("映射名称"); 它返回的是一个ActionForward对象
b)        struts-config.xml里面action节点下的:<forward name="映射名称" path="/页面名称"/>
实现机制:Struts会根据你传进actionMapping.findForward(“映射名称”),它会到你当前action节点下去找forward这个节点,并把你传进的参数与这个节点的name属性进行匹配。如果相等它就会跳到这个节点的path所指定的页面。
       例:
Action:actionMapping.findForward(“success”)
Struts-config.xml:<forward name="success" path="/success.jsp"/>
如果是这种情况的话,它就会转发到success.jsp页面。
      注意:
a)         方法的参数值和name节点的值对应,
b)        Path所指定的页面,前面必须加上“/“

       B、在前面我们提到了ActionForm,所以我们还需要建立一个类文件,这个类文件将封装页面用户输入的用户名、和密码。//一个bean实现页面的自动封装
注意:
1、这个类必须继承ActionForm类,它将完成与页面的自动封装。
2、类中的属性名称一定要和页面的输入框的名称对应,为了自动封装的匹配工作。
3、这个类中一定要提供所有与属性相匹配的set 和 get方法

前面写了这些代码,看上去还是有些杂乱无章,怎么把它们关联起来呢?又怎么调用这些代码呢?呵呵,群龙不会无首的,下面就一起来关注struts的装配文件,它可是相当于struts的总司令!

C、核心部分,跳转控制Struts-config.xml部分
<struts-config>
 <form-beans>
    <form-bean name="loginActionForm" type="formbeans.LoginActionForm" />
 </form-beans>
 <action-mappings>
<action path="/login" name="loginActionForm"  type="actions.LoginAction">//name与form-beans里面相应的form-bean相对应,type对应具体的action,/login对应jsp页面中form的action请求,但是没有后缀".do"
      <forward name="success" path="/success.jsp"/>
      <forward name="error" path="/wrong.jsp"/>
    </action>
 </action-mappings>
</struts-config>

我们对struts.xml做一下相应的介绍吧,如下:
<form-bean>:用来配置一个ActionForm Bean。常用配置的几个属性:
name:指定该ActionForm Bean的唯一标识符,整个Struts框架用该标识符来引用这个Bean。该属性是必需的
         type:指定ActionForm类的全限定名。该属性是必需的
<action>:用来描述特定的请求路径到相应的Action类的映射。常用配置的几个属性:
  input:    指定包含输入表单的URL路径。当表单验证失败时,将把请求转发到该URL。
  name:   指定和该Action关联的ActionForm Bean的名字。
  path:     指定访问Action的路径,它以“/”开头,没有扩展名。
  Scope: 指定ActionForm Bean的存在范围。(session | request)
  Validate:指定是否要先调用ActionForm Bean的validate()方法。默认值为true
Action的子元素<forward>常用配置的几个属性:
  name:   指定转发路径的逻辑名。必需的
  path:     指定转发(或重定向)的URI,必须以”/”开头。必需的
redirect:当此项为true时,表示执行重定向操作。为false时表示执行请求转发操作。默认值为false

D、页面login.jsp,用户登录页面,提供用户输入功能。具体代码如下所示:
<form method="post" action="login.do">与action里面的path相对应,但是action里面的,path没有后缀”。do“
 请输入姓名:<input type="text" name="username" value=""/><br />
 请输入密码:<input type="password" name="userpass" value=""/><br>
<input type="submit" name="Submit" value="Submit">
<input type="reset" value="Reset">
</form>

注意:
1、action后面的login.do就是struts-config.xml里面你要访问的action节点path的值哦
2、切记哦,如果你请求的URL的引用了formbean的话,这里的名称一定要对应哦。
还有success.jsp 、wrong.jsp分别代表登录成功和登录失败页面。就不再多说啦!
启动Tomcat,连接上您的应用程序网址,例如:http://localhost:8080/Struts1_Login/login.jsp,填入用户名、密码,并送出窗体,您的欢迎页面就会显示了。
       怎么样,本章节是不是比较容易?其实struts就这么简单,能完成本章节的要求吧!现在你已经上手啦!

阅读更多
想对作者说点什么? 我来说一句

Structs学习Structs学习Structs学习

2008年06月19日 2KB 下载

精通structs.pdf

2011年08月08日 19.28MB 下载

structs实例(structs实例)

2009年02月24日 10.86MB 下载

Eclipse创建最简单的struts2项目

2018年01月25日 5.63MB 下载

基于structs的图书管理系统

2012年01月05日 3.34MB 下载

经典Structs教程

2009年08月11日 698KB 下载

string Hibernate structs教程

2010年09月08日 1.01MB 下载

struts

2007年08月20日 3.15MB 下载

JDBC参数配置

2011年10月19日 800B 下载

没有更多推荐了,返回首页

不良信息举报

structs简单实例及参数配置

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭