文章分类 -  struts

struts
摘要:在通常的情况下,我们得到异常以后,需要将页面导航到一个错误提示的页面,提示错误信息。利用Stuts我们可以采用两种方式处理异常一、编程式异常处理*即我们在Action中调用业务逻辑层对象的方法时,用try{ }catch的方式来截获异常之后,手工对异常进行处理*我们以前的开发过程中,都是使用编程式的异常处理*在编程式异常处理的时候,我们可以使用struts的消息处理机制来对这些异常信息进行处理。二、自动异常处理机制*即在Action中不捕捉异常,而是将异常抛出给struts框架处理*我们需要在配置文件中指示struts如何处理这些被抛出的异常*使用元素来定义自动异常处理方式一在上一篇有关国际化 阅读全文
posted @ 2013-10-15 15:19 huidaoli 阅读(145) 评论(0) 推荐(0) 编辑
摘要:Struts设置转向信息的时候,需要用到Forward。我们有四种不同的处理方式:[html]view plaincopyprint?这几种方式有什么区别?1、方式一的forward的是全局共享的,所有Action都可以使用,而其余三种方式只有相应的action才能使用2、方式二仅仅起到一个转向的作用,完全由struts控制,很方便,但是我们不方便加入自定义的操作,除非重写struts框架中的类的方法。3、方法三和方法四,最大的区别在方式三不用我们自己写action了,它用的是Struts已经写好的action。需要注意的是,无论ActionForward还是我们自定义的action都是继承自 阅读全文
posted @ 2013-10-15 15:07 huidaoli 阅读(153) 评论(0) 推荐(0) 编辑
摘要:通过前面几篇的介绍,我们对ActionForward已经不再陌生,这篇我们再进一步了解一下它。1、转发or重定向ActionForward封装转向路径,用来完成页面的转向。那它既然是转向,到底是转发还是重定向呢?可以通过配置文件来设置,加入redirect属性,true重定向,false转发。默认的情况下,actionForward采用的是转发的方式进行页面跳转的。转发和重定向的区别:转发的时候,页面的url地址不变,而重定向的时候页面的url地址会发生变化。简单说明一下原因,因为转发的时候是采用的一个request(请求),既然页面跳转前后是同一个request,页面url当然不会变了;而重 阅读全文
posted @ 2013-10-15 15:06 huidaoli 阅读(179) 评论(0) 推荐(0) 编辑
摘要:Strust如何支持国际化?(一)页面(jsp)静态信息的国际化我们以登录这个例子来说明。通过点击中文或英文,实现登录界面语言信息的改变主要步骤:1、创建国际化资源文件*与上一篇中提到的创建方式一致属性文件内容MessagesBoundle_zn_CN.propertieslogin.form.field.username=\u7528\u6237 ----如果为GBK编码,这里是“用户名”login.form.field.password=\u5BC6\u7801 “密码”login.form.button.login=\u767B\u5F55 “登录”我们看到并非为中文,而是unicode 阅读全文
posted @ 2013-10-15 15:05 huidaoli 阅读(158) 评论(0) 推荐(0) 编辑
摘要:Web应用实现国际化(i18n),主要包括两个方面一、页面(jsp)静态信息的国际化二、动态消息的国际化在开始Struts国际化之前,我们先来看一下java如何实现国际化主要步骤:1、创建属性文件(国际化资源文件)*国际化资源文件是有baseName+Locale构成,如MessagesBundle_en_US.properties*缺省的国际化资源文件是baseName.properties格式命名,如:MessagesBundle.properties*关于中文必须转换成unicode,可以采用JAVA_HOME/bin/native2ascii工具转换命令native2ascii.exe 阅读全文
posted @ 2013-10-15 15:04 huidaoli 阅读(130) 评论(0) 推荐(0) 编辑
摘要:Struts标签库的使用和JSTL标签库使用方式类似。认识可以了,建议熟练掌握JSTL标签库。struts标签库基本认识就可以了。核心操作:配置: * 配置国际化支持,在struts-config.xml文件中加入如下配置: * 最好提供国际化资源文件(MessageResources.properties),将该文件放到src下 使用: 采用taglib引入 测试代码:ACTION[java]view plaincopyprint?packagecom.jialin;importjava.util.ArrayList;importjava.util.Date;importjava.ut... 阅读全文
posted @ 2013-10-15 14:56 huidaoli 阅读(134) 评论(0) 推荐(0) 编辑
摘要:使用ActionForm把表单数据单独封装起来,而且提供了自动的数据验证,简化了代码的编写,给我们带来了极大的方便。但是,ActionForm也存在一些明显的不足:1、如果ActionForm对应的HTML表单添加或删除一些属性,ActionForm类就可能需要修改并重新编译;所以如果HTML表单是动态的,那么ActionForm就无能为力了;2、ActionForm增加了项目中类的数量!3、对于安全性要求不高的系统,ActionForm的数据验证并不常用,我们一般都在js中验证了面对这些缺点,Struts引入了动态actionform概念,动态ActionForm使得用户无须为应用程序的每一 阅读全文
posted @ 2013-10-15 14:53 huidaoli 阅读(125) 评论(0) 推荐(0) 编辑
摘要:先看struts-config.xml[html]view plaincopyprint?其中 validate和attribut有什么用?validate,是否验证表单数据。我们在ActionForm中,重写父类的validate方法,当从表单收集完数据放到ActionForm后,如果配置文件中validate=true,将调用该方法,这里我们可以做一些数据验证。[java]view plaincopyprint?@OverridepublicActionErrorsvalidate(ActionMappingmapping,HttpServletRequestrequest){System 阅读全文
posted @ 2013-10-15 14:22 huidaoli 阅读(103) 评论(0) 推荐(0) 编辑
摘要:了解了Struts的基本流程,那么我们利用Struts来实现一个简单的登陆功能:先用时序图来描述一下登录功能的处理流程:核心操作:1、配置struts * 拷贝struts相关的jar到WEB-INF/lib下 * 在web.xml文件中配置ActionServlet * 提供struts-config.xml文件,需要放到WEB-INF下2、实现 *建立login.jsp/loginSuccess.jsp/loginFail.jsp *建立了LoginAction.java/userActionForm.java *将LoginAction/LoginActionForm/相关jsp配置到s 阅读全文
posted @ 2013-10-15 11:24 huidaoli 阅读(154) 评论(0) 推荐(0) 编辑
摘要:上篇中,用jsp+servlet演示了一下Struts的基本原理,这一篇我们介绍一下Struts执行的基本流程。假设现在有以下情景:用户正在浏览一个用STRUTS的技术构建的网站主页,主页上有个登陆表单,用户填好登陆名和密码,单击“登陆”按钮,就激活了以下一系列过程:(1)用户的请求以HTTP方式传输到服务器上,接受请求的是ActionServlet.(2)ActionServlet接收到请求后,会查找Struts-config.xml文件来确定服务器上是否有用户请求的操作,此处用户请求操作应为登陆操作。如果没有,则返回一个用户请求无效的出错信息。(3)当ActionServlet请求找到用户 阅读全文
posted @ 2013-10-15 11:22 huidaoli 阅读(173) 评论(0) 推荐(0) 编辑
摘要:struts是开源项目。它通过采用 Java Servlet/JSP 技术,实现了基于Java EE Web应用的MVC的应用框架。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。 阅读全文
posted @ 2013-10-15 11:00 huidaoli 阅读(161) 评论(0) 推荐(0) 编辑