- 浏览: 1590123 次
- 来自: 上海
文章分类
- 全部博客 (374)
- Java (101)
- Struts (54)
- Oracle (30)
- JavaScript (16)
- Spring (27)
- Hibernate (16)
- MyEclipse (3)
- JSF (1)
- FreeMarker (2)
- SiteMesh (2)
- JfreeChart (2)
- Ibatis (2)
- JSP (12)
- MyBatis (4)
- SWFupload (1)
- EJB (4)
- Jboss (4)
- WebService (2)
- Linux (16)
- Android (2)
- XML (6)
- Java 网络编程 (13)
- AXIS2 (1)
- FTP (1)
- Jswing (1)
- Socket (3)
- 杂文选集 (6)
- solr (2)
- PS (1)
- Tomcat (7)
- JDBC (9)
- Highcharts (1)
- maven (1)
- Nodejs (0)
- navicat (2)
- Exception (5)
- eclipse (3)
- jQuery (1)
- springMVC (4)
- MySQL (11)
- SVN (1)
- Sql Server (1)
- zookeeper (1)
- JVM (1)
- Groovy (2)
- Git (1)
- Nginx (1)
- DynamicReport (1)
- IDEA (2)
- JasperReports (1)
- Postgresql (2)
- Mac (1)
- gradle (1)
- 数据结构算法 (1)
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
1.在Strtus2框架中默认拦截器栈提供了conversionError拦截器,当程序在运行时发生类型转换问题,那么拦截器就将会对该异常错误进行处理,然后输出到视图页面中。
2.action
3.struts.xml
4.addnews.jsp
5.pojo
6.访问
--http://localhost:8080/Struts2_ConversionError/addnews.jsp
--如果 公布时间 输入字符 会出现转换异常
--此时 会在页面输入公布时间的地方出现 Invalid field value for field "news.newstime".
7.定义action的中文资源文件(发现 错误提示还是不友好 。通过设置属性文件成中文提示)
AddNewsAction_zh_CN.properties(放在action类的同包下)
8.-http://localhost:8080/Struts2_ConversionError/addnews.jsp
如果类型转换异常 就出现提示 你输入的数据类型不符合要求!
2.action
package com.sh.action; import com.opensymphony.xwork2.ActionSupport; import com.sh.pojo.News; public class AddNewsAction extends ActionSupport { private News news; public News getNews() { return news; } public void setNews(News news) { this.news = news; } public String execute(){ return SUCCESS; } }
3.struts.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <!-- 定义国际化资源文件的基本名称 --> <constant name="struts.i18n.encoding" value="utf-8"/> <include file="struts-default.xml"/> <package name="default" extends="struts-default"> <action name="addnewsAction" class="com.sh.action.AddNewsAction"> <result name="success">/shownews.jsp</result> <result name="input">/addnews.jsp</result> </action> </package> </struts>
4.addnews.jsp
<body> <s:form action="addnewsAction" method="post"> <table width="401" height="176" border="0" cellpadding="0" cellspacing="0"> <tr> <td colspan="2">窗内网新闻发布</td> </tr> <tr> <td width="118" style="font-weight:normal;text-align: right">标题:</td> <td width="224"><s:textfield name="news.newstitle"/></td> </tr> <tr> <td style="font-weight:normal;text-align: right">内容</td> <td><s:textfield name="news.newscontent"/></td> <tr> <td style="font-weight:normal;text-align: right">公布时长</td> <td><s:textfield name="news.newstime"/></td> </tr> <tr> <td style="font-weight:normal;text-align: right">发布人</td> <td><s:textfield name="news.newsuser"/></td> </tr> <tr> <td style="font-weight:normal;text-align: right"> </td> <td style="font-weight:normal;text-align: right"><s:submit value="发布"/></td> </tr> </tr> </table> </s:form> </body>
5.pojo
package com.sh.pojo; public class News { private String newstitile; private String newscontent; private int newstime; private String newsuser; //get set }
6.访问
--http://localhost:8080/Struts2_ConversionError/addnews.jsp
--如果 公布时间 输入字符 会出现转换异常
--此时 会在页面输入公布时间的地方出现 Invalid field value for field "news.newstime".
7.定义action的中文资源文件(发现 错误提示还是不友好 。通过设置属性文件成中文提示)
AddNewsAction_zh_CN.properties(放在action类的同包下)
invalid.fieldvalue.news.newstime=你输入的数据类型不符合要求! news=News
8.-http://localhost:8080/Struts2_ConversionError/addnews.jsp
如果类型转换异常 就出现提示 你输入的数据类型不符合要求!
发表评论
-
解决getOutputStream() has already been called for this response
2014-07-30 19:16 3316java.lang.IllegalStateException ... -
Struts2 + ajaxFileUpload 异步上传文件
2013-12-04 19:33 1888ajaxFileUpload下载地址http://www.ph ... -
Struts2 Action 解析提交的XML
2013-10-16 12:30 1633package com.bjdata.bjsearch.p ... -
MyBatis+Spring+Struts2
2012-11-28 00:32 10612MyBatis3.1.1+Spring3.1.2+Struts ... -
Ibatis 整合spring + Struts2 加入OSCACHE
2012-11-14 00:10 4554说明: 使用 spring2.5 +ibatis2.3 ... -
Struts2中使用JfreeChart
2012-11-06 09:02 16391.jar commons-fileupload-1.2.2. ... -
Struts2整合SiteMesh
2012-11-05 10:33 76531.导入Struts2的jar 和 sitemesh.jar ... -
Struts2 编写安全策略(四十五)
2012-09-23 23:53 2292编写安全策略 包含(1 ... -
SSH2整合完整案例(四十三)
2012-09-14 09:34 20687注解配置:Struts2+Spring2.5+Hibernat ... -
Struts2 阻止表单重复 和 等待页面(四十四)
2012-09-23 21:13 2138表单重复提交现象 导 ... -
Struts2 文件上传,下载,删除(四十一)
2012-09-10 23:37 12328本文介绍了: 1.基于表单的文件上传 2.Struts 2 的 ... -
Struts2 文件上传,下载的类型(四十二)
2012-09-06 23:18 1994声明: 以下复制他人的!!! Struts2 文件上传 之 ... -
Struts2 常用标签使用(三十九)
2012-09-03 09:28 64261.append标签 使用append标签可以把多个集合对 ... -
Struts2 timer拦截器(三十二)
2012-08-31 02:17 20691.Strus2系统拦截器中,timer拦截器可以实现输出Ac ... -
Struts2 常用标签使用(三十九)
2012-09-03 00:50 51.append标签 使用append标签可以把多个集合对 ... -
Struts2 主题和模版设置(四十)
2012-09-03 20:24 4142----------------Struts2 主题----- ... -
Struts2 如何使用OGNL表达式(三十八)
2012-08-30 20:55 50751.OGNL是Object Graph Navitagtion ... -
Struts2 使用Validation框架验证数据(三十七)
2012-08-30 11:25 18463A:在Struts2的框架汇中,开发者可以通过继承Action ... -
Struts2 使用Validation框架验证数据(三十七)
2012-08-29 14:08 9A:在Struts2的框架汇中,开发者可以通过继承Action ... -
Struts2 iterator 标签遍历 Map,List,数组(三十六)
2012-08-26 18:30 205231.使用iterator 标签 遍历 数组,Map,List ...
相关推荐
在Struts2中,拦截器扮演着至关重要的角色,它们是实现业务逻辑和控制流程分离开来的重要组件。本篇将深入探讨Struts2的核心拦截器以及其工作原理。 在Struts2中,拦截器是一个实现了`Interceptor`接口的类,它通过...
- **全局异常拦截器**:`struts-default.xml`中有一个`exception`拦截器,可以配置它来捕获所有未处理的异常,并根据需要进行处理。 5. **配置示例** 在`struts.xml`中,可以配置一个`exception`拦截器,指定一个...
**默认拦截器栈**:Struts2提供了多个默认的拦截器栈,如`defaultStack`、`simpleStack`等,它们包含了常用的操作,如类型转换、参数填充、异常处理等。 **自定义拦截器**:开发者也可以根据需要创建自定义拦截器,...
Struts2的内置拦截器主要包括以下几类:用于异常处理、参数绑定、会话管理、调试等功能。每个拦截器都有特定的作用,可以根据需求选择合适的拦截器组合使用。 #### 2. 常用内置拦截器详解 ##### 2.1 Exception 此...
### Struts2 Interceptor 拦截器详解 #### 一、概述 在现代Web开发中,特别是基于Java的Web应用程序开发中,Struts2框架因其简洁性和强大的扩展能力而备受青睐。Struts2框架的核心设计理念之一是MVC(Model-View-...
#### 三、拦截器在Struts2中的应用 在Struts2框架中,拦截器的作用非常广泛。主要体现在以下几个方面: - **请求拦截**:拦截器可以拦截用户的请求,并对其进行预处理或后处理。 - **类型转换**:例如,将请求参数...
Struts2是一个强大的Java web框架,它为开发者提供了丰富的功能,包括MVC设计模式的实现、类型转换、国际化、拦截器等。在本篇“Struts2学习笔记三”中,我们将聚焦于Struts2的类型转换这一核心特性。类型转换在处理...
4. **conversionError**:类型转换错误拦截器,用于捕获并处理Action参数类型的转换错误,向用户展示友好的错误信息,提高用户体验。 5. **createSession**:创建HttpSession,确保Action中可以访问到Session对象,...
4. `conversionError` 拦截器:这个拦截器处理类型转换错误,从ActionContext中取出转换错误,并转化为Action的FieldError,方便后续处理。 5. `createSession` 拦截器:负责在需要HttpSession的场景下创建...
4. **conversionError**:转换错误拦截器,处理数据类型转换失败时的异常。 5. **cookie**:Cookie拦截器,用于处理请求中的Cookie信息。 6. **createSession**:创建会话拦截器,当需要时自动创建Servlet session...
- `ExceptionMappingInterceptor`:处理异常,将系统异常转换为Struts2的ActionError。 - `SessionAwareInterceptor`:使Action支持Session属性。 7. `Result`与`Interceptor`的区别:Result是在Action执行成功后...
总的来说,Struts2拦截器为开发者提供了强大的功能,可以控制Action执行流程、处理异常、实现日志、国际化、模型驱动等多种需求,极大地提高了应用的灵活性和可维护性。正确理解和使用拦截器是掌握Struts2框架的关键...
但这样做会导致Struts2的默认拦截器(如`defaultStack`,它包含了处理如文件上传、异常处理等核心功能的拦截器)不再生效。为了解决这个问题,我们可以创建一个拦截器栈(`interceptors-stack`),它实际上是一组...
2. **提高代码健壮性**:Struts2的类型转换机制能够自动处理类型转换过程中可能出现的异常情况,如类型转换失败时,会触发`conversionError`拦截器,从而在用户界面上给出友好的提示信息,提高用户体验。 3. **增强...
9. **ExceptionInterceptor**:异常拦截器,将捕获的异常定向到特定页面显示。 10. **File UploadInterceptor**:文件上传拦截器,提供文件上传功能,处理多部分表单数据。 11. **I18nInterceptor**:国际化拦截器...
- **用途**:当请求参数类型与Action属性不匹配时,会触发此拦截器,帮助开发者捕获转换异常,并通过`ActionContext`获取具体的转换错误信息。 5. **Create Session (创建会话)** - **功能**:自动为每个请求...
### Struts2拦截器详述 #### 一、理解拦截器 ##### 1.1 什么是拦截器? 拦截器(Interceptor)是面向切面编程(AOP)中的一项关键技术,主要用于在方法或字段被访问之前对其进行拦截,并在访问之前或之后加入特定...
本文将深入探讨Struts框架中的拦截器(Interceptor)以及它与过滤器(Filter)的区别,并结合文件上传功能进行讲解。 1. 拦截器与过滤器的概念 - **拦截器**:在Struts2框架中,拦截器是基于AOP(面向切面编程)的...