[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"


posted @ 2004-07-28 17:45  八进制  阅读(6068)  评论(14编辑  收藏  举报

博客已搬家:bjzhanghao.com