2
、开发Struts应用程序
(1) 创建Web Project
l
指定工程名字:Samples
(2) 添加Struts开发功能
l
选择Struts1.3
l
指定base package:org.xqtu.samplpes
(3) 创建JSP页面
l
打开struts-config.xml
l
Design
模式下,面板中单击Add JSP page,在布局中点击:
l
指定JSP文件路径:/Samples/WebRoot/WEB-INF/jsp
l
指定JSP文件名字:success.jsp
l
选择Struts1.2/1.3的模版
(4) 创建Form、Action和JSP
l
布局中右击,New -> Form, Action and JSP:
l
指定Use Case:Login
l
为了应用程序分层清晰,修改Form的package:org.xqtu.Samples.web.form.LoginForm
l
通过Add按钮添加ActionForm的属性
l
选择JSP Tab:
l
选择 Create JSP form
l
指定JSP Path:/WEB-INF/jsp/login.jsp
l
点击Next按钮,创建Action:
l
同样,修改Action的package:org.xqtu.Samples.web.action.LoginAction
l
选择Forwards Tab
l
通过Add按钮指定ActionForward
l
点击Finish按钮,自动生成Action和ActionForm类
(5) Action类编码
l
在没有使用DB访问之前,使用简单的逻辑判断:
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
LoginForm loginForm = (LoginForm) form;
if ("123456".equals(loginForm.getPassword())) {
request.setAttribute("userid", loginForm.getUserid());
return mapping.findForward("success");
}
request.setAttribute("loginError",
"login failure, userid or password incorrect!");
return mapping.findForward("failure");
}
(6) 修改login.jsp
<html:form action="/login">
userid : <html:text property="userid" />
<br />
password : <html:password property="password" />
<br />
<html:submit />
<logic:notEmpty name="loginError" scope="request">
<bean:write name="loginError" scope="request" />
</logic:notEmpty>
</html:form>
(7) 修改success.jsp
<body>
Hello
<bean:write name="userid" scope="request" />
, you successfully logged in!
</body>
(8) 修改index.jsp
l
为了防止JSP文件被直接访问,JSP文件通常放在WebRoot的/WEB-INF下,通过WebRoot下的index.jsp文件forward到JSP文件
l
打开struts-config.xml
l
Design
模式下,面板中单击Add Global Forward,在布局中点击:
l
指定Forward的名字:login
l
指定Forward的路径:/WEB-INF/jsp/login.jsp
l
修改index.jsp:
<body>
<logic:forward name="login"/>
</body>