学习笔记:Structs详细用法(一)------MLDN

本文详细介绍了如何在MyEclipse环境中搭建Struts框架,并通过一个登录示例项目讲解了Struts的基本配置流程,包括核心配置文件设置、表单验证、错误信息展示及页面跳转等关键步骤。

Structs(一)

1.首先在Project里右键Myeclipse,选择add structs capabilities.

Structs-config.xml核心配置文件,名字可以改动。

之后在src下多了一个类包,里面有一个资源文件。多了structs和依赖包,多了标签和xml配置文件。

//PS:(个人理解:action可以改,而且随着配制的改变,xml里面也会相应的改动,当jsp提交到.do文件时,会找到action这个servlet,然后再去找form..javaaction.java)。

注意在web.xml里面的变化

<servlet>//要做的事情是 根据你提交的路径跳到哪个类里。

<servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>

<init-param>

<param-name>config</param-name>

<param-value>/WEB-INF/struts-config.xml</param-value>

</init-param>

<init-param>

<param-name>debug</param-name>

<param-value>3</param-value>

</init-param>

<init-param>

<param-name>detail</param-name>

<param-value>3</param-value>

</init-param>

<load-on-startup>0</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>action</servlet-name>

<url-pattern>*.do</url-pattern>

</servlet-mapping>

<welcome-file-list>

<welcome-file>index.jsp</welcome-file>

</welcome-file-list>

</web-app>

2.新建一个jsp

Taglib标签:

url是唯一标识符,在导入标签里面有一个structs-bean.tld里面有一句话

<uri>http://struts.apache.org/tags-bean</uri>是对应的。

后面prefix是你应用标签时需要写的关键字。

3.开发完页面之后,不需要创建servlet,需要创建一个代替他的东西。

在你src新添加的类包中,点击new-other下面的myeclipse->web-Structs->1.2->structs1.2 form,action &jsp.

Form是管前半部分的,用于接收参数,而action是管后半部分的用于验证,跳转等功能。

配置Form

其中NAME那个选项:

Jsp里面提交到login.do,这里就把do前面那个填进去。

配置Action

注意:最后Input Source是输入页面。

发现在类包中多了FormAction包。

4.先进入到form包中。

LoginForm.java多了一个方法

public ActionErrors validate(ActionMapping mapping,

HttpServletRequest request) {

ActionErrors errors=new ActionErrors();

if(this.username==null||this.username.trim().equals(""))

{

errors.add("username", new ActionMessage("username.null"));

}

if(this.password==null||this.password.trim().equals(""))

{

errors.add("password" , new ActionMessage("password.null"));

}

return errors;

}//用来完成验证信息,一般用来验证非空和数据格式。

5.src下新生成的ApplicationResources.properties这个文件下配置错误信息。

username.null=/u7528/u6237/u540d/u4e0d/u80fd/u4e3a/u7a7a/uff01

password.null=/u5bc6/u7801/u4e0d/u80fd/u4e3a/u7a7a/uff01

(第一个编码为:用户名不能为空!,第二个为:密码不能为空!因为不识别汉字,所以需要编码,编码转换过程如下1,先将所需转换文字复制,然后找到你的Java/jdk1.6.0_10/bin目录,然后找到native2ascii这个文件,2,打开3,粘贴,回车即得编码)

6.login.jsp这个页面里的表单中加入错误提示信息。

<table border="0">

<tr>

<td>用户名:</td>

<td><html:text property="username" /></td>

<td><html:errors property="username"/></td>

</tr>

<tr>

<td>密码:</td>

<td><html:password property="password" /></td>

<td><html:errors property="password"/></td>

</tr>

<tr>

<td colspan="2" align="center"><html:submit value="提交" /></td>

</tr>

</table>

7.再进入到action包中,在LogonAction.java中修改execute方法。

public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response) {

LoginForm loginForm = (LoginForm) form; if(loginForm.getUsername().equals("robin")&&loginForm.getPassword().equals("123"))

{

request.getSession().setAttribute("uname", loginForm.getUsername());

//跳转是通过返回值跳转。

return mapping.findForward("suc");

}

else {

ActionErrors errors=new ActionErrors();

errors.add("loginerror", new ActionMessage("login.error"));

this.addErrors(request, errors);

return mapping.getInputForward();

}

}

8.ApplicationResources.properties文件下加入错误信息

login.error=/u7528/u6237/u540d/u6216/u8005/u5bc6/u7801/u9519/u8bef/uff01

9.新建跳转页suc.jsp

<%@page import="java.util.*" %>

<%@ page contentType="text/html;charset=GBK"%>

<html>

<head>

<title>success</title>

</head>

<body>

${uname } 登陆成功!

</body>

</html>

10.配置跳转路径,在struts-config.xml中加入路径配置

<action-mappings >

<action

attribute="loginForm"

input="/jsp/login.jsp"

name="loginForm"

path="/login"

scope="request"

type="com.proper.struts.action.LoginAction">

<set-property property="cancellable" value="true" />

<forward name="suc" path="/jsp/suc.jsp"/>

</action>

</action-mappings>

11Login.jsp页面中加入显示错误信息

<body>

<center>

<font color="red"><html:errors property="loginerror"/></font>

<html:form action="login.do">

<table border="0">

<tr>

<td>用户名:</td>

<td><html:text property="username" /></td>

<td><html:errors property="username"/></td>

</tr>

。。。

显示页面如下:

1

2

3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值