[Struts]学习日记1 – 一个简单的例子

这个例子是提供一个登录界面,用户输入用户Id和密码,如果一致则判断为登录成功。使用easy struts这个eclipse的插件要做这件事很容易,步骤如下:

1、创建一个新工程,并为在工程属性里为该工程添加easy struts支持。

2、在eclipse菜单File->New->Other里选择Easy Action assosiated with a form。这就打开一个向导,共有三步,下面分别说明。

3、第一步是创建form。Module留空(使用缺省),我们的use case填logon,easy struts会自动根据这个名称更改form name和form type这两个域,最好根据需要更改一下后者的包名称。点form properties右边的add按钮,增加userId和password两个属性,type都是java.lang.String,jsp input type分别是text和password类型。点next进入下一步。

4、第二步是创建action。全部使用缺省值即可。点next进入下一步。

5、第三步是创建forwards和exceptions。我们为刚刚创建的action添加一个名为success的forward,path为/form/main.htm,该页面就是登录成功后看见的页面了。当然,你还要实际创建这个页面,否则登录成功后会出现404错误。按finish按钮完成向导。

6、在向导帮你生成的LogonAction.java文件的execute方法里写下验证登录并跳转的代码如下:

public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) throws Exception {

    LogonForm logonForm = (LogonForm)form;
    ActionErrors errors = new ActionErrors();

    if(!logonForm.getUserId().equals(logonForm.getPassword()))
    errors.add(ActionErrors.GLOBAL_ERROR,new ActionError("error.password.mismatch"));

    if(!errors.isEmpty()){
        saveErrors(request,errors);
        return mapping.getInputForward();
    }

    return (mapping.findForward("success"));
}

7、把这个项目加成一个Tomcat的context,具体方法就是在Tomcat的server.xml中加上下面这句:

<Context path="/struts-test" reloadable="true" docBase="C:\eclipse\workspace\struts-test" />

8、启动Tomcat,使用 http://localhost:8080/struts-test/form/logon.jsp 访问,应该可以看到登录画面。

注意:我发现Easy Struts虽然会帮你把需要的jar拷到WEB-INF/lib里,但这只是一部分,还得手动把其他Struts的lib/*.jar文件拷过来,否则会提示"Cannot find ActionMappings or ActionFormBeans collection"

搬家前链接:https://www.cnblogs.com/bjzhanghao/archive/2004/07/28/28062.html

欢迎转载
请保留原始链接:https://bjzhanghao.com/p/1116

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注