- 浏览: 1536214 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (525)
- SEO (16)
- JAVA-EE-Hibernate (6)
- JAVA-EE-Struts (29)
- JAVA-EE-Spring (15)
- Linux (37)
- JAVA-SE (29)
- NetWork (1)
- CMS (14)
- Semantic Research (3)
- RIA-Flex (0)
- Ajax-Extjs (4)
- Ajax-Jquery (1)
- www.godaddy.com (0)
- SSH (34)
- JavaScript (6)
- SoftwareEngineer (9)
- CMMI (0)
- IDE-Myeclipse (3)
- PHP (1)
- Algorithm (3)
- C/C++ (18)
- Concept&Items (2)
- Useful WebSite (1)
- ApacheServer (2)
- CodeReading (1)
- Socket (2)
- UML (10)
- PowerDesigner (1)
- Repository (19)
- MySQL (3)
- SqlServer (0)
- Society (1)
- Tomcat (7)
- WebService (5)
- JBoss (1)
- FCKeditor (1)
- PS/DW/CD/FW (0)
- DesignPattern (11)
- WebSite_Security (1)
- WordPress (5)
- WebConstruction (3)
- XML|XSD (7)
- Android (0)
- Project-In-Action (9)
- DatabaseDesign (3)
- taglib (7)
- DIV+CSS (10)
- Silverlight (52)
- JSON (7)
- VC++ (8)
- C# (8)
- LINQ (1)
- WCF&SOA (5)
- .NET (20)
- SOA (1)
- Mashup (2)
- RegEx (6)
- Psychology (5)
- Stock (1)
- Google (2)
- Interview (4)
- HTML5 (1)
- Marketing (4)
- Vaadin (2)
- Agile (2)
- Apache-common (6)
- ANTLR (0)
- REST (1)
- HtmlAnalysis (18)
- csv-export (3)
- Nucth (3)
- Xpath (1)
- Velocity (6)
- ASP.NET (9)
- Product (2)
- CSS (1)
最新评论
-
lt26w:
理解成门面模式应该比较容易明白吧
FacadePattern-Java代码实例讲解 -
lt26w:
看下面的例子比较明白.
FacadePattern-Java代码实例讲解 -
javaloverkehui:
这也叫文档,别逗我行吗,也就自己看看。
HtmlCleaner API -
SE_XiaoFeng:
至少也应该写个注释吧。
HtmlCleaner API -
jfzshandong:
...
org.springframework.web.filter.CharacterEncodingFilter 配置
没有struts之前,使用servlet,最常用的是doGet,doPost,service方法,如果有些经验的程序员会合理的使用这三个方法:如在用户发出get的请求时,将用户请求在doGet方法中处理,用户发出post请求时,将用户的请求用doPost请求处理,必要时加上service方法去处理那些在一个servlet中必须执行的请求,用户的请求大体也就这三类,但是如果细分,一个“编辑”,“删除”,“查看”等操作都是doGet的范围,当然也可以都写到serice方法中或doPost中处理,这样为了区分这些请求,我们通常都要在程序中加入一个判断的参数,如:operate,然后在程序中判断 if operate.equals("update")....,if operate.equals("del")....,if operate.equals("view")....等,实际上这只是个简单的逻辑,如果业务更加复杂,你可能写更多的类时operate的参数,这样就造成程序中有若干if..else if...else if .., 即便你有非常好的编码规范,整齐的缩进,这个程序也相当难维护;而用到struts时,你又可能把这些参数都写到execute方法中;
那么最好的方法 还是将这些逻辑分开处理,如果执行“编辑”操作的时候调用“编辑”对应的方法,执行“删除”的时候调用“删除”对应的方法...将是比较理想的结果,
为了实现这个应用要求,struts引入DispatchAction ,这样你在struts-config.xml文件的action元素中增加parameter属性即可实现这个功能:
例如appfuse的配置:
parameter="method"这个参数就是说,在用户提交请求时取得method参数,根据method参数调用相应的方法,如/editUser.html?method=Delete就是调用对应action中的Delete方法,这样你就可以写一个Action类处理很多的逻辑,而不是象从前那样在一个方法里面加上若干参数,或者直接建若干个action来处理。
例如appfuse的UserAction
<action
path="/saveUser"
type="org.appfuse.webapp.action.UserAction"
name="userForm"
scope="request"
input="edit"
parameter
="method"
unknown="false"
validate="false"
>
<forward
name="list"
path="/WEB-INF/pages/userList.jsp"
redirect="false"
/>
<forward
name="edit"
path="/WEB-INF/pages/userForm.jsp"
redirect="false"
/>
</action>
parameter="method"这个参数就是说,在用户提交请求时取得method参数,根据method参数调用相应的方法,如/editUser.html?method=Delete就是调用对应action中的Delete方法,这样你就可以写一个Action类处理很多的逻辑,而不是象从前那样在一个方法里面加上若干参数,或者直接建若干个action来处理。
例如appfuse的UserAction
package org.appfuse.webapp.action; import ... public final class UserAction extends BaseAction { public ActionForward add(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ... } public ActionForward cancel(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ... } public ActionForward delete(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ... } public ActionForward edit(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ... } public ActionForward save(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ... } public ActionForward search(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ... } public ActionForward unspecified(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ... } private void sendNewUserEmail(HttpServletRequest request, UserForm userForm) throws Exception { ... } }
当你没有传入method参数,或者没有符合参数的方法时,程序将执行unspecified方法;当然method只是一个逻辑名字而已,你也可以使用其他名字,如:method1,method2,go2,asdad等
发表评论
-
fckedit和struts2集成不能上传文件的解决方法
2010-01-24 10:52 1621以前在使用fckedit+strut1上传文件很顺利,后来使用 ... -
struts validator框架
2010-01-09 13:56 1430Struts 验证器基础 步骤 1. 安装 Strut ... -
The path of an ForwardConfig cannot be null-struts validator验证框架异常
2010-01-09 13:54 3050struts validator验证框架异常 在测 ... -
关于一个Action对应多个Form
2009-12-28 23:49 1512由于一个Action可以用多个path来访问,所以我们可以通过 ... -
一个Action对应多个Form DispatchAction
2009-12-28 23:32 2712一个Action对应多个Form ... -
DynaValidatorForm类
2009-12-28 23:23 1290DynaValidatorForm类 http ... -
Struts出现No getter method for property的解决
2009-12-28 22:48 2014请从一下几方面着手检查代码 1、JavaBean中的属性 ... -
Struts Validator验证器使用指南
2009-12-07 18:34 788Struts Validator 验证器 ... -
Form '***' not found for locale 'zh _CN'
2009-12-07 16:13 4372Form '***' not found for locale ... -
Struts2 拦截器详细配置过程
2009-12-06 21:23 18241:所有拦截器的超级接口Interceptor ,Ac ... -
如何在SSH框架中使用Validator框架
2009-12-05 00:19 1334关键字: validator 下 ... -
java.lang.NoSuchMethodException
2009-12-04 23:56 2052关键字: validator 下面将介绍如何在SSH框架 ... -
Struts验证框架与一些技巧
2009-12-04 23:46 16498还是通过一些步骤例子说明 首先建立Struts工程的时候要 ... -
Struts-validator验证框架与一些技巧
2009-12-04 23:44 1161这个框架褒贬不一呀~~~ =========== ... -
struts 标签详解
2009-12-04 21:28 1044struts 标签详解 Action和jsp的开发其实就 ... -
HTTP Status 404 - Servlet action is not available(二)
2009-12-04 18:41 5874今天在帮公司的新手弄SSH的一个登录程序时,出现了Servle ... -
HTTP Status 404 - Servlet action is not available(一)
2009-12-04 18:40 7832sp /meCall 发表于2007-10-08, 1 ... -
SSH中Cannot retrieve mapping for action
2009-12-04 18:22 2187<script type="text ... -
Cannot retrieve mapping for action 之 问题解决
2009-12-04 18:21 11344struts的form标 ... -
利用Struts的Validator验证框架实现客户端和服务器端双验证
2009-12-04 18:18 1548...
相关推荐
Struts的国际化(Internationalization,简称i18n)功能允许开发者为不同地区的用户提供本地化的界面和内容,使得同一应用在不同语言环境中能够自然地展现。下面我们将深入探讨Struts如何实现国际化功能。 首先,...
<message-resources parameter="struts/ApplicationResources"/> <plug-in className="org.apache.struts.tiles.TilesPlugin"> <!-- Tiles配置 --> </struts-config> ``` 在实际开发中,还需要创建ActionForm...
7. **Plug-in配置**:插件扩展了Struts的功能,例如 strutstags-tiles 插件用于集成Tiles布局框架,`<plug-in>`元素下的`<set-property>`可以设置插件的属性。 8. **Exception处理**:`<global-exceptions>`允许...
Struts 提供了非常多的标签,依据功能和使用习惯的不同被分到了五个标签库中:Bean Tags、HTML Tags、Logic Tags、Nested Tags 和 Tiles Tags。下面将对前三个标签库中的标签进行详细的介绍。 Bean Tags Bean Tags...
本文将详细讲解如何利用JSP和Struts实现文件上传功能。 首先,我们要了解文件上传的基本概念。在Web应用中,文件上传是指用户通过浏览器选择本地文件并将其发送到服务器的过程。这个过程通常涉及到HTML表单、...
Struts 1.x 支持数据类型的自动转换,但也可以通过自定义转换器来扩展这种功能。 **1. 自定义数据转换器** - 创建一个实现 `org.apache.struts.util.LabelValueConverter` 接口的类。 - 实现 `convert` 方法来完成...
使用Struts的Action来对数据库进行增、删、改、查四项操作 <br/>1、数据库MySQL,创建数据库 Pagination MySQL.sql用来创建表结构 <br/>连接方式有两种,一种直接JDBC,一种通过连接池,代码中有说明...
通过以上步骤和知识点,你可以了解并实现Struts1框架下的国际化功能,为用户提供多语言支持,提升应用的全球适用性。在实际开发中,确保对各种语言环境的支持,能提高用户体验,并有助于拓宽应用的市场覆盖范围。
在Struts 1.x版本中,配置文件主要包括`web.xml`和`struts-config.xml`,它们是实现Struts框架功能的核心配置。 **一、web.xml配置文件** `web.xml`是每个Web应用程序的部署描述符,它告诉服务器如何启动和运行...
ActionContext是每个Action执行的上下文环境,它包含了一组对象,如session、application、parameter等,这些都是Action在执行过程中可能需要的数据。ActionContext为Action提供了访问请求和会话数据的途径。 总的...
总的来说,你的"自己写的struts程序"是一个典型的Web应用实例,通过Struts框架实现了用户注册功能,涉及了Action、Form Bean、配置文件、视图展示等多个方面。这个练习有助于理解MVC模式和Struts的工作原理,对...
下面将详细介绍如何在Struts1中实现多国语言功能。 1. **理解基本概念** - **国际化(i18n)**:是指使软件能够在不同的国家和地区使用,主要涉及日期、时间、数字格式、货币单位以及文本翻译等。 - **本地化...
使用DispatchAction的另一个优点是,它可以结合Struts的国际化和主题功能,为不同的用户群体提供定制的视图。此外,通过将Action类中的方法组织成逻辑相关的组,可以更方便地进行权限控制和事务管理。 然而,需要...
- **功能**: 在开发者、发布者与组装者之间传递配置信息。 - **作用**: 容器启动时从中读取配置信息,并据此装载和配置Web应用。 - **元素结构**: - `<web-app>`: 根元素,所有其他元素均需嵌套在此元素内部。 - `...
配置文件中可以指定上传文件的存储路径,例如在struts-config.xml中定义一个action-mapping,设置其`parameter`属性为文件上传的目录。为了更好地管理上传的文件,可以考虑创建多级目录结构,如按照日期或用户ID来...
在本文中,我们将探讨如何使用Struts1框架实现文件的批量上传功能。Struts1是一个经典的Java Web应用程序框架,它提供了模型-视图-控制器(MVC)架构,用于构建动态Web应用。在Struts1中实现文件上传,我们需要考虑...
在这个"struts1实现图片上传"的实践中,我们将深入探讨如何使用Struts1来处理图片上传功能,包括图片预览。 首先,我们需要在Struts1的配置文件`struts-config.xml`中定义一个Action,这个Action将处理图片上传的...
String parameterValue = ServletActionContext.getRequest().getParameter("parameterName"); ``` 同时,也可以通过`HttpServletResponse`设置响应状态码和内容: ```java response.setStatus(HttpServletResponse....
- 测试国际化功能时,可以模拟不同的浏览器设置,或者使用`java.util.Locale.setDefault()`临时改变应用的默认`Locale`。 以上就是关于Struts1.x国际化的基本概念和实现方式。通过理解这些知识点,开发者能够构建...
6. **例子分析**:虽然描述没有提供具体代码,但我们可以想象这可能是三个不同功能的Action,比如登录验证(LoginAction)、用户注册(RegisterAction)和商品查询(ProductQueryAction)。每个Action处理不同业务...