当前位置: 代码迷 >> Eclipse >> 用Eclipse+MyEclipse开发struts的一个经典的范例(转)
  详细解决方案

用Eclipse+MyEclipse开发struts的一个经典的范例(转)

热度:100   发布时间:2016-04-23 12:33:29.0
用Eclipse+MyEclipse开发struts的一个经典的实例(转)

简介:
文本主要介绍用myeclipse的struts designer(图形化开发环境)开发一个简单的用户登录程序片段。
主要包括2个jsp文件、一个ActionForm、一个Action等其它
userLogin.jsp(用户登录及错误提示页面) userLoginSuccess.jsp(提示登录成功页面)
UserLoginForm.java(ActionForm,存放用户提交信息)
UserLoginAction.java(Action,简单的处理用户登录事件)

?
开始吧

首先我们先建立一个j2ee的web project.如图1:
o_1.JPG

点击next,Project name输入LoginDemo,其余保持默认,点击finish.
在package explorer下,就可以看到我们的项目了,然后给这个项目添加Struts框架必要的文件.在我们项目名上点击右键,选择MyEclipes --> Add Struts Capabilities...弹出对话框图2:
o_2.JPG
其中Struts config path就是我们的struts配置文件,URL pattern我们选择*.do,Default application resource为我们默认的资源文件地方,你可以选择它的存储位置,我们在这里保持默认。点击Finish后,项目结构类似于图3:
o_3.JPG

现在就来开始我们的例子吧。首先修改/WEB-INF/web.xml文件,为其添加标签库(在使用中发现,不添加也能成功。但为了保持书上一致,还是添加安全些。hoho~~)将下面代码添加至 </webapp> 上面:

<jsp-config>
???????? <taglib>
???????????????? <taglib-uri>/tags/struts-bean</taglib-uri>
???????????????? <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
???????? </taglib>
???????? <taglib>
???????????????? <taglib-uri>/tags/struts-html</taglib-uri>
???????????????? <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
???????? </taglib>
???????? <taglib>
???????????????? <taglib-uri>/tags/struts-logic</taglib-uri>
???????????????? <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
???????? </taglib>
???????? <taglib>
???????????????? <taglib-uri>/tags/struts-nested</taglib-uri>
???????????????? <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
???????? </taglib>
???????? </jsp-config>
完成后,打开struts-config.xml文件,点击这个界面左下角的Design进入可视化设计界面。有没有注意右边的Palette :) 点击它,让我们来开始我们的jsp页面设计。我们先建立userLoginSuccess.jsp文件,为啥先建这一个呢?等下就知道了,在myeclipse中可以一次性把我们的Action,ActionForm,Jsp文件一次建好(将三个有关联的文件等下创建)。
点击Palette面版上的创建JSP文件图标,弹出创建JSP文件面板。图4:
o_4.JPG

File Name里输入userLoginSuccess.jsp,Template to use选择2] Standard JSP using Struts 1.1,点击Finish完成。
完成后,struts-config.xml文件自动被更新,可视化界在上也出现了刚新建的JSP模块。新建的jsp文件也被打开了。
覆盖所有的<%@ taglib ...... 为我们开始在/WEB-INF/web.xml中定义的:

<%@ taglib uri="/tags/struts-html" prefix="html"%>
<%@ taglib uri="/tags/struts-bean" prefix="bean"%>
<%@ taglib uri="/tags/struts-logic" prefix="logic"%>

然后在<body></body>中添加:
Hello <bean:write name="userName" scope="request" /> .
这里将request中的属性userName输出在页面上,所以等下我们在UserLoginAction中,登录成功后要设置一个相关属性。

OK,下面来开始我们最后三个文件的设计吧。在Struts-config.xmlDesign模式中,在画版的空白区域点右键,选择New --> New Form, Action and JSP 弹出ActionForm的选项面板,我们按图上输入相关值,图5:
o_5.JPG

Optional DetailsForm Properties选项卡,点add为这个ActionForm添加相关值,在这个登录示例中,将添加两个属性userName和password,图6:
o_6.JPG
在添加password时,注意将JSP input type 下拉框选择password.
完成这步后,我们就将ActionForm设计完成。
接下来选择 Optional DetailsJSP选项卡,我们选中Create JSP form? 这一步myeclipse将为我们创建一个简单的与用户交互的登录页面。保持内容和图7一样。图7:
o_7.JPG
因为我们这只是简单的演示一个登录片段,所以不用验证用户信息是否合法,所以将 Option Detailsmethod选项卡的新建方法去掉,如图8:
o_8.JPG
点Next,进入Action选项面板.将Option DetailsForm选项卡中Validate Form取消选择,如图9:
o_9.JPG
然后在Forwards选项卡中点add添加成功和失败返回的页面.如图10:
o_10.JPG
点击Finish完成。在Struts-config.xmlDesign中,可以看到图11所示:
o_11.JPG
最后,简单的修改一下userLogin.jsp,将所有<%@ taglib ...%>替换为:
<%@ taglib uri="/tags/struts-html" prefix="html"%>
<%@ taglib uri="/tags/struts-bean" prefix="bean"%>
修改UserLoginAction中的execute片段为如下所示,图12:
o_12.JPG

OK,完成。。。下面就部暑项目,测试。。。

像为项目添加Struts框架一样,在项目名上右击,选择MyEclipse --> Add and Remove Project development.
在弹出对话框上,单击add ,在弹出的 New Deployment 对话框上,Server选Tomcat5,点击Finish完成部署,如图13:
o_13.JPG
在用浏览器上打开:http://127.0.0.1:8080/LoginDemo/userLogin.jsp
输入密码123456,用户名EricHe。显示成功:
o_14.JPG
如果输错,或不输入,则无反映又回到当前登录页面(因为我们没有设置错误信息)。
  相关解决方案