- 浏览: 1229257 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (718)
- HTML (13)
- JS基础 (23)
- JS应用 (40)
- AJAX (6)
- JSP相关 (12)
- JAVA基础 (52)
- JAVA应用 (74)
- APPLET (11)
- SWING\RCP (2)
- JAVA反射 (6)
- 设计模式 (26)
- 数据库设计 (20)
- Struts (35)
- Struts2 (12)
- Spring (22)
- Hibernate (45)
- Ibatis (18)
- mybatis (3)
- SSH (8)
- UML (5)
- WebService (3)
- XML (16)
- Log4j (7)
- WEB容器 (26)
- 数据结构 (36)
- Linux (34)
- Ruby on Rails (1)
- 其它技术 (27)
- IDE配置 (15)
- 项目实战 (2)
- Oracle (69)
- JAVA报表 (7)
- Android学习 (2)
- 博客链接 (1)
- 网络基础 (1)
- WEB集群 (1)
- .Net开发 (11)
- PB (4)
- 系统构建 (15)
最新评论
-
jnjeC:
牛逼啊哥们,讲得太好了
Maven仓库理解、如何引入本地包、Maven多种方式打可执行jar包 -
九尾狐的yi巴:
很好 感谢!
Itext中文处理(更新版) -
luweifeng1983:
有用的,重启一下嘛。
设置eclipse外部修改文件后自动刷新 -
Master-Gao:
设置了也不管用,怎么破呢?
设置eclipse外部修改文件后自动刷新 -
aigo_h:
锋子还有时间写博客,还是很闲哈!
Add directory entries问题
struts编程式异常过程:
截获异常信息;创建异常信息;传递异常信息;转向相应页面
<html:errors/>显示异常信息
<html:messages id="msg" message="true"> <bean:write name="msg"/> </html:messages>
当message="true"时输出的是程序中的message信息,而message为false或空时则默认输出异常信息即与html:error一样
如下:
package com.lwf.struts.action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages; import com.lwf.struts.form.LogonForm; import com.lwf.struts.util.UserManageEntity; import com.lwf.struts.util.UserNotFoundException; public class LogonAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ActionMessages errors = new ActionMessages(); ActionForward forward = new ActionForward(); LogonForm logonForm = (LogonForm)form; String name = logonForm.getUsername(); String pwd = logonForm.getPassword(); try { UserManageEntity.UserManager(name); errors.add("logonerror1", new ActionMessage("error.login.user"," myerrmsg")); this.saveMessages(request, errors); request.getSession().setAttribute("user", logonForm); forward = mapping.findForward("success"); } catch (UserNotFoundException e) { errors.add("logonerror2", new ActionMessage("error.login.again"," error2")); this.saveErrors(request, errors); forward = mapping.findForward("error"); } return forward; } }
注意程序中:
saveMessages与saveErrors两个方法的调用
package com.lwf.struts.util; public class UserManageEntity { public static void UserManager(String username) throws UserNotFoundException{ if(username!=null && !username.equals("admin")){ throw new UserNotFoundException(); } } }
package com.lwf.struts.util; public class UserNotFoundException extends Exception { public UserNotFoundException(){} public UserNotFoundException(String message){ super(message); } }
struts还规定在资源文件中定义以下属性
errors.header = <UL> errors.prefix = <LI> errors.suffix = </LI> errors.footer = </UL>
如果连续有多条异常信息那么每一条会显示在LI中,多条信息会显示在UL中.
如果我们想每一条异常信息显示为红色字体那么可以这样做:
errors.header = <UL> errors.prefix = <LI><font color="red"> errors.suffix = </LI></font> errors.footer = </UL>
发表评论
-
DispatchAction 和DynaValidateActionForm 结合使用时的问题
2011-03-08 16:23 932使用DispatchAction使得程序员能够大大减少acti ... -
ActionForm中使用集合属性并自动组装数据
2011-01-18 14:32 928http://blog.csdn.net/m0085_cn/a ... -
Cannot find bean org.apache.struts.taglib.html.BEAN in any scope
2010-11-10 14:13 973开的过程中碰到问题:Cannot find bean org. ... -
Struts 结合 Validate框架验证详解
2010-10-25 14:00 1506转自:http://student.csdn.net/spac ... -
JSTL与struts1标签
2010-08-31 10:17 1549JSTL与struts标签: http://www.360d ... -
如何自动清空struts表单域
2010-06-30 17:44 1268为了某种需要,formBean的SCOPE设置成了ses ... -
form验证与动态验证框架
2010-06-06 17:22 1388form验证返回ActionErrors. 动态验证则实现J ... -
resourcebundleeditor在eclipse里面的设置和使用
2010-05-30 11:30 1746我们一般使用native2ascii工具得到struts资源文 ... -
使用DispatchAction分发
2010-04-07 18:04 1159应用中经常有增、删、改、查操作,如果象一前一样使用List ... -
forward属性与ForwardAction类
2010-04-07 17:08 1173forward属性与ForwardAction类在配置文件按以 ... -
struts容错处理
2010-04-07 15:20 1186struts容错处理: 当客户请求的action不存在的时候 ... -
struts声明式异常二
2010-04-07 15:18 1172上文如果资源文件改为: error.login.usernu ... -
struts声明式异常一
2010-04-06 23:10 1052struts声明式异常: 在配置文件中配置exception ... -
struts国际化,从资源文件读取异常信息
2010-04-03 01:56 1199示例演示登录时从资源文件读取用户名或密码错误信息 logon ... -
struts国际化,资源文件读取三
2010-04-02 23:42 1029本示例演示客户进行语言设置,从而更改整个系统语言. 客户在c ... -
struts国际化,资源文件读取二
2010-04-02 22:18 1635package com.lwf.struts.util; ... -
struts国际化,资源文件读取一
2010-04-02 00:19 1373国际化的发展 看本文之前可先看一下properties文件的 ... -
struts html标签自动保存提交的表单值。
2010-04-01 17:01 2060我们之前JSP提交值后如果还要取得值怎么做? 应该是取得a ... -
ActionMapping相关
2010-04-01 16:02 1082一、Map的设置map.put("path" ... -
ActionForward相关问题
2010-04-01 15:13 1362一、静态的ActionForward不能更改属性: stru ...
相关推荐
实现步骤包括创建不同语言的资源文件(如`message_en.properties`和`message_ch.properties`),并在`struts.xml`中配置资源文件。 8. **定义Action的三种方式和获取Servlet对象**: - 实现`Action`接口。 - 继承...
ActionError类是用来存储错误信息的,它继承自`java.lang.Throwable`,但通常不抛出异常。当用户输入的数据不符合业务逻辑或验证规则时,开发者可以通过ActionError添加错误信息到ActionContext中,以便在JSP页面上...
- **errorPage属性:** 指定当发生特定异常时显示的错误页面。 - **exceptionType属性:** 指定哪些类型的异常会导致转向错误页面。 **7. JSP使用JavaBeans** - **JavaBeans:** 遵循特定设计模式的Java类,通常...
除了声明式异常处理,Struts还支持编程式异常处理。这种方式允许在Action类的execute方法中捕获和处理异常,但可能导致代码混乱且不易维护。 在实际应用中,我们可能会遇到一些特定的异常情况,比如业务逻辑错误。...
- **异常类层次结构:** `Throwable` 是所有异常类的父类,包括 `Error` 和 `Exception`。 - **自定义异常:** 如何定义自己的异常类。 #### 4. Java中的访问修饰符(public, private, protected, 默认) **知识点...
8. **异常处理**:Struts提供了ActionError和ActionMessages机制,用于处理业务逻辑中的异常,并将错误信息展示给用户。 通过刘晓华老师的课件,你可以系统地学习如何使用Struts框架进行Web应用开发,掌握Bean标签...
addFieldError("errorMessage", "发生了自定义异常"); return INPUT; // 将控制权返回到输入页面,显示错误信息 } catch (Exception e) { LOG.error("未知错误", e); throw e; // 未处理的异常交给Struts的异常...
当Struts2与JSON结合时,它可以实现服务器端与客户端的高效数据交换。这种结合主要体现在以下几个方面: - **Action配置**:在Struts2中,你可以为每个Action配置一个结果类型为“json”的结果。这将在Action执行...
同时,可以在JSP页面中引入Struts2的标签库,例如`<%@ taglib prefix="s" uri="/struts-tags"%>`,这样就可以使用Struts2提供的标签进行编程。 6. **JSTL标签库配置**:JSTL(JavaServer Pages Standard Tag ...
Struts2Demo是一个基于Struts2框架的示例项目,主要展示了如何利用Struts2...同时,这个项目也可以作为进一步探索Struts2其他高级特性的起点,如拦截器的自定义、AOP(面向切面编程)的应用、 strut2与Spring的集成等。
8. **异常处理**:Struts的异常处理机制允许开发者定义全局和特定Action的异常处理策略,通过配置文件定义error-page或通过Action的throws声明。 9. **Tiles框架**:Tiles是Struts的一个扩展,用于构建复杂的页面...
不过,Struts1.x与Struts2的Action模型很大的区别。 Struts2和Struts1.x的差别,最明显的就是Struts2是一个pull-MVC架构。这是什么意思呢?从开发者角度看,就是说需要显示给用户的数据可以直接从Action中获取,而不...
接着,为了使用这些资源文件,我们需要在Struts配置文件(struts-config.xml)中声明一个`<message-resources>`元素,指定资源文件的位置。例如: ```xml <struts-config> <global-exceptions/> <global-forwards...
Struts提供了全局的异常处理机制,通过定义ActionError和ActionMessage,可以在出现异常时统一处理并展示给用户。 **拦截器(Interceptors)** Struts 2引入了拦截器,它们是实现AOP(面向切面编程)的关键。拦截...
- **Error**:系统级错误,通常无法通过程序逻辑解决,如 `OutOfMemoryError`。 **3. sleep() 和 wait() 区别** - **sleep()**:当前线程暂停执行指定的时间,不释放锁。 - **wait()**:线程等待直到被唤醒,释放...
### Struts2拦截器详述 #### 一、理解拦截器 ##### 1.1 什么是拦截器? 拦截器(Interceptor)是面向切面编程(AOP)中的一项关键技术,主要用于在方法或字段被访问之前对其进行拦截,并在访问之前或之后加入特定...
Struts是Java Web开发中的一个经典框架,由Apache软件基金会维护,主要用于构建MVC(Model-View-Controller)架构的应用程序。它简化了Web应用的开发流程,通过提供一种结构化的方式来组织代码,使得开发者可以更...
2. **定位`struts.multipart.maxSize`**:查找与文件上传相关的配置项,其中`struts.multipart.maxSize`是关键。 3. **调整大小限制**:将`struts.multipart.maxSize`的值更改为所需的大小。例如,如果希望支持最大...
通过修改或创建主题,我们可以控制错误信息的CSS样式,如`errorMessage格式样式表css.txt`所示,这可以增强错误提示的可读性和美观性。 至于`.txt`文件中提到的异常,可能是因为某些情况下,即使校验异常,Struts2...