好文档 - 专业文书写作范文服务资料分享网站

spring快速入门教程详解 - 图文 

天下 分享 时间: 加入收藏 我要投稿 点赞

Downloads By http://down.liehuo.net

http://www.elecfans.com 电子发烧友 http://bbs.elecfans.com 电子技术论坛

通过浏览器验证JSP的功能

1.有了这个JSP文件和里面的样例数据,就可以通过浏览器来查看这个页面。运行antdeploy reload,转到地址http://localhost:8080/myusers/user.do?method=list。出现以下画面:

2.这个样例中,缺少国际化的页面标题头,和列标题头(column headings)。在web/WEB-INF/classes中messages.properties中加入一些键:

user.id=User Id

user.firstName=First Name user.lastName=Last Name修改过的国际化的标题头如下:

注意同样可以使用JSTL的标签。如果想为表添加排序和分

Downloads By http://down.liehuo.net

http://www.elecfans.com 电子发烧友 http://bbs.elecfans.com 电子技术论坛

布功能,可以使用 Display Tag (http://displaytag.sf.net)。下面是使用这个标签的一个样例:

请参考display tag文档中有关的列标题头国际化的部分。

3.你已经建好了显示(list),创建form就可以添加/编辑(add/edit)数据。如果事先没有准备,可以在web目录下新建一个userForm.jsp文件。向文件中添加以下代码:

<%@ include file=\/taglibs.jsp\%> MyUsers ~ User Details

Please fill in user's information below:

Downloads By http://down.liehuo.net

http://www.elecfans.com 电子发烧友 http://bbs.elecfans.com 电子技术论坛

:
:
Save

Delete

注意:如果你正在开发一个国际化的应用,把上面的信息和按钮标签替换成 或是 标签。这是一个很好的练习。对于信息message,建议把key 名称写成”pageName.message”(例如:userForm.message )的形式,按钮名字写成“button.name”(例如button.save)。

4.运行ant deploy ,通过浏览器页面的user form来进行 CRUD 操作。

最后大部分web应用都需要验证。下一节中,配置struts validator,要求用户的last name 是必填的。

Downloads By http://down.liehuo.net

http://www.elecfans.com 电子发烧友 http://bbs.elecfans.com 电子技术论坛

用commons Validator添加验证

为了在Struts中使用验证,执行以下几步:1.在struts-config.xml中添加ValidatorPlugin。2.创建validation.xml,指定lastName为必填字段。3.仅为save()方法设置验证(validation)。

4.在message.properties中添加validation errors。

在struts-config.xml中添加ValidatorPlugin

配置Validatorp plugins,添加以下片断到struts-config.xml(紧接着Spring

plugin):

从这里你可以看出,Validator会查找WEB-INF下的两个文件validator-ruls.xml和

validation.xml。第一个文件,validator-rules.xml,是一个标准文件,作为Struts的一部分发布,它定义了所有可用的验证器(validators),功能和客户端的javascript类似。第二个文件,包含针对每个 form的验证规则。

创建validation.xml,指定lastName为必填字段

validation.xml文件中包含很多DTD定义的标准元素。但你只需要如下所示的

,更多信息请参阅Validator的文档。在web/WEB-INF/validation.xml中的form-validation标签之间添加form-set元素。

把 DynaActionForm 改为 DynaValidatorForm

把struts-config.xml中的DynaActionForm 改为 DynaValidatorForm。

Downloads By http://down.liehuo.net

http://www.elecfans.com 电子发烧友 http://bbs.elecfans.com 电子技术论坛

type=\org.apache.struts.validator.DynaValidatorForm\>

为save()方法设置验证(validation)

使用Struts DispatchAction 弊端是,验证会在映射层(mapping level)激活。为了在list和edit页面关闭验证。你必须单独建一个”validate=false”的映射。例如,AppFuse的UserAction有两个映射:”/editUser” 和”/listUser”。然而有一个更简单的方法,可以减少xml,只是多了一些java代码。

1.在/user映射中,添加validate=false 。

2.修改UserAction中的save()方法,调用form.validate()方法,如果发现错误,返回编辑页面。

if (log.isDebugEnabled()) {

log.debug(\ }

// run validation rules on this form

ActionMessages errors = form.validate(mapping, request); if (!errors.isEmpty()) { saveErrors(request, errors); return mapping.findForward(\ }

DynaActionForm userForm = (DynaActionForm) form;

当dispatchAction运行时,与附带一个属性的两个映射相比,这样更加简洁。但用两个映射也有一些优点:

●●

验证失败时,可以指定转向”input”属性。

在映射中可以添加“role”属性,可以指定谁有访问权限。例如,任何人都可以看到编辑(edit)页面,但只有管理员可以保存(save)。

运行ant deploy重新载入(reload),尝试添加一个新用户,不要填写lastName。你会看到一个验证错误,表明lastName是必填字段,如下所示:

Downloads By http://down.liehuo.net

http://www.elecfans.com 电子发烧友 http://bbs.elecfans.com 电子技术论坛

Struts Validator的另一种比较好的特性是客户端验证(client-side validation)。4.在form标签(web/userForm.jsp)中添加”onsubmit”属性,在form末尾添加

...

现在如果运行ant deploy,试图保存一个lastname为空的用户,会弹出一个JavaScript提示:“Last Name is required”。这里有一个问题,这个带JavaScript的form 把validator的JavaScript功能都载入了页面。再好的方法是,从外部文件导入Javascript。参见第5章。

恭喜你!你已经开发一个web应用,它包含数据库交互,验证实现,成功信息和错误信息的显示。第4 章,将会把这个转向Spring 框架。第5章中,会添加异常处理,文件上传,邮件发送等特性。第6章会看一下JSP的替代品,在第7章,会添加 DAO的不同实现,包括 iBATIS, JDO 和Spring 的JDBC。

spring快速入门教程详解 - 图文 

DownloadsByhttp://down.liehuo.nethttp://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛通过浏览器验证JSP的功能1.有了这个JSP文件和里面的样例数据,就可以通过浏览器来查看这个页面。运行antdeployreload,转到地址http://lo
推荐度:
点击下载文档文档为doc格式
8eir722jc617c1937435
领取福利

微信扫码领取福利

微信扫码分享