- 浏览: 3461172 次
- 性别:
- 来自: China
文章分类
- 全部博客 (536)
- ajax (1)
- Algorithm (14)
- Android (40)
- CSS/HTML... (2)
- defy (3)
- DesignPattern (2)
- dorado (0)
- Drools (6)
- English/日本語 (7)
- Flex (2)
- Framework (0)
- Google (3)
- hibernate (13)
- homework (3)
- HTML5 (0)
- IDE (29)
- java (45)
- javaee (7)
- Javascript (14)
- java组件 (5)
- jQuery (4)
- jsp (8)
- jsf (2)
- Linux (2)
- lucene (0)
- mysql (6)
- news (3)
- Oracle (8)
- other (4)
- PHP (5)
- Python (0)
- Software Engineering (3)
- spring (7)
- struts1.x (14)
- struts2.x (14)
- strolling in cloud (1)
- subject:javaEnhance (20)
- Tomcat (7)
- validator (3)
- 学习·方法·心得 (8)
- .NET (2)
- vba (6)
- groovy (5)
- grails (2)
- SWT (0)
- big data (1)
- perl (1)
- objective-c (50)
- product (1)
- mac (7)
- ios (188)
- ios-phone (2)
- ios-system (15)
- ios-network (5)
- ios-file (4)
- ios-db (1)
- ios-media (3)
- ios-ui (27)
- ios-openSource (6)
- ios-animation (5)
- ios-drawing (7)
- c (2)
- ios-app (2)
- ios-course (15)
- ios-runtime (14)
- ios-code (8)
- ios-thread (8)
- ios-LBS (2)
- ios-issue (1)
- ios-design (2)
- Jailbreak (2)
- cocos2d (0)
- swift (16)
- ios-framework (4)
- apple watch (4)
- ios-web (1)
- react native (3)
- TVOS (1)
- OpenGL (1)
最新评论
-
xiaobinggg:
...
Session机制详解 -
菜鸟学生会:
Drools规则工作流引擎开发教程网盘地址:http://pa ...
Drools入门-----------环境搭建,分析Helloworld -
wangyudong:
不是很好用,不支持自动化测试RESTful API,也不支持自 ...
Simple REST Client POST使用方法 -
Paul0523:
很棒的一篇文章,感谢楼主分享
Session机制详解 -
啸笑天:
获取原型对象的三种方法<script>functi ...
复习JavaScript面向对象技术
转自http://linweihan.iteye.com/blog/122440
actionMessages(),actionError()介绍
尽管Struts框架提供了有效的异常处理机制,但不能保证处理所有的错误,这时Struts框架会把错误抛给Web容器,在默认情况下Web容器会向用户浏览器直接返回原始信息。如果想避免直接让用户看到这些原始信息,可以在web.xml中配置<error-page>元素,以下代码演示了如何避免用户看到HTTP 404、HTTP 500错误和Exception异常。
web.xml:
<error-page>
<error-code>404</error-code>
<location>/exception/error404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/exception/error500.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/exception/default.jsp</location>
</error-page>
当WEB容器捕获到exception-type或error-code指定的错误时将跳到由location指定的页面。
ActionError/ActionErrors/ActionMessage/ActionMessages:
有时候你需要向用户提供相关处理信息,包括表单验证时发现错误等。
1. 相关类介绍:
ActionMessage:用于保存一个与资源束对应的提示信息。主要构造函数如:
ActionMessage(String message);
ActionMessage(String message,paramater)。
ActionMessages:用于保存多个ActionMessage。并在html:errors 和html:messages中起作用。
主要构造函数:
ActionMessages().
主要方法是add(String property,ActionMessage message)
ActionMessages有一个HashMap类型messages保存多个ActionMessage对象,每个ActionMessage对象都有唯一的一个property标识。这个property可以是自定义的任意字符串,也可以由org.apache.struts.action.ActionMessages.GLOBAL_MESSAGE指定
html:messages/html:errors使用property属性访问某个资源
ActionErrors:用于保存一个与资源束对应的错误信息。用法跟ActionMessages差不多。
ActionError不赞成使用。
2. 版本:
struts1.1中用ActionErrors报告错误,用ActionMessages提供信息。
在struts1.2中使用ActionMessages提供信息和错误,不赞成使用ActionError
struts1.3中已经没有ActionError类了。
3. AtionErrors和ActionMessages的区别
1. ActionErrors是ActionMessages的一个子类,功能几乎相同,不同点在于标签<html:errors/>和<html:messages>的使用上的区别。
html:errors指定了footer和header属性。默认值为errors.header和errors.footer,需要时可以自己指定。如果资源属性文件配置了 errors.header和errors.footer,则任何时候使用html:errors时开头和结尾都是这两个属性对应的资源信息。
而html:message默认情况下没有errors.header和errors.footer值,当然可以自己指定。
2. html:errors可以根据property属性指定显示一个错误信息。html:messages有一个必添项id。html:messages不能直接显示信息,它将选出的信息放入一个用id标识的Iterator对象里,然后在用ben:write或JSTL c:out标签显示每个信息.例如:
<html:messages message="true" id="msg">
<c:out value="${msg}"/><br />
</html:messages>
3. 具体的一个例子:
接受输入页面input.jsp:
<html:form action="/errormessage/input">
phoneNumber : <html:text property="phoneNumber"/> <html:errors property="<%=org.apache.struts.action.ActionMessages.GLOBAL_MESSAGE %>"/><br/>
<html:submit/><html:cancel/>
</html:form>
struts-config.xml:
<form-beans >
<form-bean name="inputForm" type="cn.rolia.struts.form.errorexception.InputForm" />
</form-beans>
<action-mappings >
<action
attribute="inputForm"
input="/errormessage/input.jsp"
name="inputForm"
path="/errormessage/input"
scope="request"
type="com.yourcompany.struts.action.errormessage.InputAction"
validate="false">
<forward name="success" path="/errormessage/success.jsp" />
</action>
</action-mappings>
InputAction.java:
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
cn.rolia.struts.form.errorexception.InputForm inputForm = (cn.rolia.struts.form.errorexception.InputForm) form;// TODO Auto-generated method stub
String phoneNumber = inputForm.getPhoneNumber();
if(phoneNumber.length()<4){
ActionErrors messages = new ActionErrors();
messages.add(org.apache.struts.action.ActionMessages.GLOBAL_MESSAGE,new ActionMessage("error.errormessage.input"));
this.saveErrors(request, messages);
return mapping.getInputForward();
}
return mapping.findForward("success");
}
解说:用户输入手机号码,页面跳转到InputAction控制层进行处理,若输入数据小于4,则创建一个ActionMessage类存储相关错误信息。然后再创建ActionErrors类将此ActionMessage放入ActionErrors。再调用Action的saveErrors方法将此ActionErrors保存的request范围里,然后返回input.jsp页面要求重新输入并用html:errors提示错误信息。
4. Action包含saveErrors()方法和saveMessages()方法。如果创建的ActionErrors则应该调用saveErrors(),若创建的是ActionMessages则应该调用saveMessages()方法。
saveErrors()接收ActionMessages而不是ActionErrors;同时将其保存在request中并用一个由org.apache.struts.Globals.ERROR_KEY指定的常量” org.apache.struts.Globals.ERROR_KEY”标识这个ActionMessages,便于html:errors查找。saveMessages()方法接收ActionMessages同时将其保存在request中并用一个由org.apache.struts.Globals.MESSAGE_KEY指定的常量” org.apache.struts.Globals.MESSAGE_KEY”标识这个ActionMessages,进而让html:messages从常量Globals.ERROR_KEY中遍历获取信息。可以将其属性message设置为true,那么它将从常量Globals.MESSAGE_KEY中遍历获取信息。
5. 默认情况下html:messages从
如果你想将信息保存在session里而不是request,struts1.2提供了
struts1.1没有的saveMessages(HttpSession session, ActionMessages messages)方法和saveErrors(javax.servlet.http.HttpSession session, ActionMessages errors)方法。
InputAction.java:
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
cn.rolia.struts.form.errorexception.InputForm inputForm = (cn.rolia.struts.form.errorexception.InputForm) form;// TODO Auto-generated method stub
String phoneNumber = inputForm.getPhoneNumber();
if(phoneNumber.length()<4){
ActionErrors messages = new ActionErrors();
messages.add(org.apache.struts.action.ActionMessages.GLOBAL_MESSAGE,new ActionMessage("error.errormessage.input"));
this.saveErrors(request.getSession(true), messages);
return mapping.getInputForward();
}
return mapping.findForward("success");
}
发表评论
-
struts 表单中的cancel按钮出错处理
2010-05-25 21:16 1789感谢:http://hi.baidu.com/shli ... -
Struts的配置详解
2010-05-25 21:10 1401在 Struts 的应用开发中,主要涉及到两个配置文件 ... -
struts1的几个对象---哪位大哥帮忙解释下
2010-05-24 20:18 1434<%@ page language=" ... -
tomcat中的一个过滤器例子
2010-05-22 03:14 2703感谢:http://www.iteye.com/wik ... -
<html:select>,<html:option>,<html:options>,<html:optionsCollection>标签使用
2010-05-16 22:34 16156<html:select>生 ... -
<html:checkbo>标签和ActionForm中的reset()
2010-05-12 20:26 2448<html:checkbox property= ... -
Strust组件—RequestProcessor类详解 (转)
2010-05-12 13:03 2070转自:http://hi.ba ... -
<html:messages id="">标签 <html:errors/>标签
2010-05-11 16:09 3039<html:errors>标签与<html: ... -
bean:resource bean:include jsp:include
2010-05-08 00:08 1824bean:include 一。用于执 ... -
html:cancel按钮的作用,cancel按钮,取消按钮
2010-05-06 00:16 3042转自http://heisetoufa.iteye.c ... -
Struts的ActionForm中不同类型属性的使用方法总结(转载)
2010-04-29 01:50 1890平时做些多表格表单显示时,actionform中经常会用到 ... -
struts1.x问题集
2010-04-28 17:26 11341.MessageResources中的html标签 -
struts1.x随笔
2010-04-28 16:57 14511. <?xml version="1 ...
相关推荐
4. **显示错误和消息**:在JSP页面中,使用Struts2的标签库(如`s:actionerror`和`s:actionmessage`)来遍历并显示`ActionContext`中的`ActionErrors`和`ActionMessages`。 ```jsp ()"> <s:actionerror/> ()"> ...
在Struts2框架中,ActionError和ActionMessage是处理用户输入验证和错误反馈的重要组件,它们使得开发者能够优雅地管理应用程序中的错误信息和用户消息。 ActionError类是用来存储错误信息的,它继承自`java.lang....
Struts提供了ActionError和ActionMessages类用于错误和消息的处理。这些类可以帮助开发者更好地管理和显示错误信息,增强用户体验。 #### 三、Struts标签库 Struts提供了丰富的自定义标签库,用于简化页面开发,...
`ActionErrors`是一个集合,可以存储多个`ActionError`对象,每个`ActionError`代表一条具体的错误消息。例如,如果用户没有输入第二个数字,可以通过`errors.add()`方法将错误信息添加到`ActionErrors`中。 在...
在Action中,使用`saveErrors(HttpServletRequest, ActionErrors)`或`saveMessages(HttpServletRequest, ActionMessages)`方法将错误或消息保存到请求范围内,以便在JSP页面中访问。在JSP页面,使用相应的标签从...
例如,通过资源包(Resource Bundle)实现多语言支持,通过 ActionError 和 ActionMessages 实现错误和消息管理,通过 FileUpload 类处理文件上传。 在实际开发中,为了更好地理解和使用 Struts 1.3.8,我们需要...
8. **异常处理**:学习如何在Struts中配置全局和局部异常处理策略,使用ActionError和ActionMessages管理错误和消息。 9. **Tiles框架集成**:Struts可以与Tiles框架结合使用,实现更复杂的页面布局和组件重用。 ...
8. **异常处理**:Struts1提供了ActionError和ActionMessages机制来处理错误和消息。开发者可以在Action中抛出异常,框架会捕获并显示给用户,确保应用程序的健壮性。 9. **验证框架**:通过Validator插件,Struts1...
8. **异常处理**:Struts 1.1提供了ActionError和ActionMessages机制,用于处理和展示业务逻辑中的异常信息。开发者可以通过配置ActionMapping中的`exception`元素来定义全局或特定异常的处理策略。 9. ** Tiles...
这可以通过Struts的ActionError和ActionMessages实现,将错误信息添加到ActionContext中,然后在JSP页面上显示。 总的来说,这个项目涵盖了Struts1的MVC架构、JSP页面设计、数据库连接、用户输入验证、业务逻辑处理...
- Struts提供了全局的异常处理机制,可以自定义ActionError和ActionMessages,用于处理和显示业务错误。 8. **国际化与本地化** - 使用ResourceBundle和struts.properties文件实现应用的多语言支持。 9. **测试*...
Struts提供了ActionError和ActionMessages机制来处理验证错误,以及全局的异常处理器来捕获并处理程序运行时可能出现的异常。 总结来说,使用Struts技术实现留言和发帖功能,主要包括以下几个步骤: 1. 创建Action...
8. **异常处理**:Struts提供了ActionError和ActionMessages机制,用于处理业务逻辑中的异常,并将错误信息展示给用户。 通过刘晓华老师的课件,你可以系统地学习如何使用Struts框架进行Web应用开发,掌握Bean标签...
3. 在Action中使用`ActionMessages`或`ActionErrors`添加和显示消息。 4. 在JSP中使用Struts标签显示本地化消息。 5. 实现语言切换功能,动态改变资源文件的加载。 通过这些步骤,开发者可以轻松地为SSH框架的Web...
Struts提供了ActionError和ActionMessages机制来处理异常,可以将错误信息传递到视图进行显示,增强了错误处理的能力。 9. **Struts 1与Struts 2的区别** Struts 2是Struts 1的升级版,引入了更多现代Web开发的...
- Struts1提供了ActionError和ActionMessages机制来处理用户输入验证错误,可以通过配置文件定义全局错误页面,提高应用的健壮性。 8. **国际化和本地化**: - Struts1支持多语言,可以在资源文件中定义不同语言...
8. **异常处理**:Struts提供了ActionError和ActionMessages,用于处理应用程序中的错误和消息。全局异常处理器可以捕获并统一处理未被捕获的异常。 9. **Struts标签库**:除了基本的HTML标签,Struts还提供了一套...
8. **异常处理**:在`org.apache.struts.action`包下,可以看到ActionError和ActionMessages类,它们用于处理和展示应用程序运行时的错误信息。Struts框架提供了一套完整的异常处理机制,可以在struts-config.xml中...
在Struts中,可以通过`ActionError`或`ActionMessages`来添加错误信息,然后在JSP页面上显示。 总的来说,这个"struts写的上传下载"项目展示了如何利用Struts框架处理文件上传和下载的基本流程,同时也提醒我们在...