- 浏览: 254153 次
- 性别:
- 来自: 湖南
文章分类
- 全部博客 (194)
- java (23)
- 数据结构和算法 (5)
- oracle (7)
- sql server (1)
- mysql (5)
- Ajax (5)
- JSTL (7)
- jsp (20)
- 组件 (11)
- C++可视化 (0)
- javascript (14)
- c/c++ (0)
- XML (6)
- 只是扩宽 (0)
- 设计模式 (3)
- 正则表达式 (3)
- 心情和感悟 (4)
- ACM (3)
- HTML/css (9)
- 软件破解 (2)
- spring (1)
- struts (15)
- hibernate (10)
- Servlet (2)
- sql (2)
- 面试题 (1)
- struts2 (22)
- Unix/Linux (0)
- javamail (1)
- svn (1)
- 异常 (3)
- EJB (3)
- jquery (2)
- android (1)
最新评论
-
lianlupengUestc:
From my testing (Struts2 versio ...
struts2 注解 -
yulongxiang:
非常感谢!!!!!!!
使用动态ActionForm(转)
动态的方法调用:DMI
在form的action中使用动态的方法调用。action="xxx!xxx.action",第一个xxx是action中的调用的方法,和execute一样的。后面一个是所请求的action,两个可以不相同
如hello!login.action 这样子可以减少很多action的配置
另外一种方式是在struts.xml文件中加入method的方式调用,但是需要很多的action配置
另外一种方式是使用通配符的方式,在action的配置文件中使用*xxxx或者xxxx*,然后在method中写method="{1}",在form的action中写xxxxxx,则action类中的方法名对应于xxxxxx中的名字。如helloLogin
则hello对应到action类中的方法,login则是请求的action
在form的action中使用动态的方法调用。action="xxx!xxx.action",第一个xxx是action中的调用的方法,和execute一样的。后面一个是所请求的action,两个可以不相同
如hello!login.action 这样子可以减少很多action的配置
另外一种方式是在struts.xml文件中加入method的方式调用,但是需要很多的action配置
另外一种方式是使用通配符的方式,在action的配置文件中使用*xxxx或者xxxx*,然后在method中写method="{1}",在form的action中写xxxxxx,则action类中的方法名对应于xxxxxx中的名字。如helloLogin
则hello对应到action类中的方法,login则是请求的action
<?xml version="1.0" encoding="GB18030" ?> <%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%> <% String context = request.getContextPath(); %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB18030" /> <title>Insert title here</title> </head> <body> Action执行的时候并不一定要执行execute方法<br /> 可以在配置文件中配置Action的时候用method=来指定执行哪个方法 也可以在url地址中动态指定(动态方法调用DMI)(推荐)<br /> <a href="<%=context %>/user/userAdd">添加用户</a> <br /> <a href="<%=context %>/user/user!add">添加用户</a> <br /> 前者会产生太多的action,所以不推荐使用 </body> </html>
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.devMode" value="true" /> <package name="user" extends="struts-default" namespace="/user"> <action name="userAdd" class="com.hugui.struts2.user.action.UserAction" method="add"> <result>/user_add_success.jsp</result> </action> <action name="user" class="com.hugui.struts2.user.action.UserAction"> <result>/user_add_success.jsp</result> </action> </package> </struts>
package com.hugui.struts2.user.action; import com.opensymphony.xwork2.ActionSupport; public class UserAction extends ActionSupport { public String add() { return SUCCESS; } }
发表评论
-
Struts2.1 处理未知Action 和访问不存在的页面
2011-10-18 12:13 1381你可以配置个默认action,当请求的action不存在时,他 ... -
struts2文件上传
2011-04-05 01:25 977package com.hugui.qq.web.acti ... -
struts.xml (constant)
2011-03-26 19:12 1028<?xml version="1.0&qu ... -
java.lang.NoClassDefFoundError: org/apache/commons/fileupload/RequestContext
2011-03-26 18:17 8925严重: Exception starting filter ... -
struts2-写自己的转换器
2010-09-17 22:35 913b) 写自己的转换器: public class MyPoi ... -
struts2-用token拦截器屏蔽重复提交问题
2010-09-17 21:27 1120在服务器端生成一个随机值,然后传给客户端的form中,当客户端 ... -
struts2-自定义拦截器
2010-09-17 21:02 995用来验证。。。等等 package com.hugui. ... -
struts2-i18n
2010-09-16 21:59 1450login.username=username: log ... -
struts2-tags
2010-09-15 22:38 1008<?xml version="1.0&qu ... -
OGNL表达式语言学习
2010-09-13 10:31 993<?xml version="1.0&qu ... -
struts2-动态结果集
2010-09-13 09:03 1377UserAction.java package com.hu ... -
struts2-带参数的结果集
2010-09-13 08:58 946UserAction.java package com.h ... -
struts2-global-results
2010-09-12 23:31 1130struts.xml <?xml version=& ... -
struts2的常用Result类型用法
2010-09-12 22:42 1128chain 用来处理Action链 ... -
Struts2 使用Domain Model接收参数
2010-09-12 00:01 3083Domain Model 域模型,包含着项目里真正证存在的概念 ... -
Struts2_ActionWildcard_通配符配置
2010-09-11 23:30 810<?xml version="1.0&qu ... -
struts2-Action
2010-09-11 22:42 982<?xml version="1.0&qu ... -
struts2-path
2010-09-11 22:37 865<?xml version="1.0&qu ... -
struts.xml
2010-09-11 21:10 765<?xml version="1.0&qu ... -
struts2 中MyEclipse操作手册[来自互联网]
2010-09-11 20:48 1784前言 假 如 你 的 人 生 ...
相关推荐
5. 动态方法调用(Dynamic Method Invocation,DMI):允许通过URL直接调用Action类的方法,但在某些情况下可能会带来安全隐患。 通过深入研究"Struts2_0400_Path"中的资料,你可以掌握如何有效地配置Struts2的路径...
在Struts2中,动态方法调用(Dynamic Method Invocation,DMI)是一种特性,允许我们通过URL直接调用Action类的方法,而无需在配置文件中显式指定。这在某些情况下提供了更大的灵活性。 在Struts2的动态方法调用中...
Struts2 动态方法调用(DMI,Dynamic Method Invocation)是Struts2框架中一个特色功能,允许开发者通过URL直接调用Action类中的方法,而无需预先在配置文件中显式声明这些方法。这种机制增加了开发的灵活性,但也...
10. **动态方法调用(Dynamic Method Invocation,DMI)**:允许通过URL直接调用Action的方法,增强了路由的灵活性。 总的来说,Struts2 API文档是学习和掌握Struts2框架不可或缺的资源,无论你是初学者还是经验丰富...
5. **动态方法调用(DMI)**:在某些情况下,Action名称可以根据用户输入动态生成,这称为动态方法调用。例如,`<action name="!*" class="com.example.MyAction" method="{1}">`允许用户通过URL中的部分来决定调用...
Struts2作为一款流行的Java Web框架,其动态方法调用(Dynamic Method Invocation,DMI)功能为开发者提供了极大的灵活性。在传统的MVC模式中,控制器(Controller)通常通过硬编码的方式处理请求,而动态方法调用则...
- 动态方法调用(Dynamic Method Invocation,DMI)是一个可选特性,通过设置`struts.enable.DynamicMethodInvocation`为`true`来启用,允许使用方法名作为URL的一部分。 3. **测试项目**: - 在浏览器中访问`...
Struts2还支持动态方法调用(Dynamic Method Invocation,DMI),这意味着你可以在URL中直接指定Action方法,而不必在配置文件中显式声明。尽管这种方法在某些情况下可以提高灵活性,但可能导致代码的可读性和可维护...
2. **动态方法调用(Dynamic Method Invocation,DMI)**:不同于Struts1中的固定Action映射,Struts2支持直接通过URL调用Action方法,提高了路由的灵活性。 3. **OGNL(Object-Graph Navigation Language)**:这是...
总结来说,"struts2_path"代码示例涵盖了Struts2中Action的配置、动态方法调用、拦截器的使用以及命名空间的应用。这些都是理解和开发Struts2应用的基础,对于初学者而言,通过实践这些代码,可以深入理解Struts2的...
4. **struts2_04_action_dmi.rar** - "DMI"可能指的是动态方法调用,Struts2的一个特性,允许不预先配置Action方法就能进行调用,增强了灵活性。 5. **struts2_05_action_param.rar** - 这部分可能讲解了如何从请求...
以上就是关于Struts2框架的关键知识点的详细介绍,涵盖了开发模式、源码查看、配置、执行流程、命名空间、编码设置、路径处理、动态方法调用、数据传输、国际化、标签库、控制反转和依赖注入,以及Action结果的处理...
接下来,我们探讨Struts2的动态方法调用(Dynamic Method Invoked,DMI): 动态方法调用是Struts2的一种强大功能,它允许根据不同的用户请求动态决定执行哪个Action方法。主要有以下两种方式: 1. **基于struts....
动态方法调用(Dynamic Method Invocation, DMI)是Struts2提供的一种简化配置的方式。通过DMI,我们可以在URL中直接指定要调用的方法,而无需为每个方法创建单独的Action配置。配置示例如下: ```xml <action name...
10. **动态方法调用(Dynamic Method Invocation,DMI)**: 允许Action的执行方法不固定为execute,而是根据请求参数动态决定。 总的来说,理解和掌握Struts2的核心概念和机制对于开发高效的Java Web应用至关重要。...
7. **动态方法调用(Dynamic Method Invocation,DMI)**:Struts2允许通过URL直接调用Action类的方法,提高灵活性。struts2_e19可能包含关于DMI的示例。 8. **插件(Plug-ins)**:Struts2支持丰富的插件,如 ...
Struts2的一个强大特性是其支持动态方法调用(Dynamic Method Invocation,DMI),这是通过URL中的"!"符号实现的。当URL中包含"!"时,Struts2会尝试解析该字符串,寻找Action类中与之匹配的方法。这种方式允许我们...
Struts2的动态方法调用(Dynamic Method Invocation,DMI)允许我们根据用户输入来决定执行哪个Action方法。在没有明确的方法名时,Struts2会尝试匹配Action类中的方法。这种方式增加了代码的灵活性,但同时也可能...
`struts2_in_action.pdf`可能是一本关于Struts2的实战指南,通常会涵盖Struts2的基本概念、配置、拦截器、结果类型、动态方法调用等特性。这本书可能会帮助读者深入理解Struts2框架,并提供实际项目中的应用示例。 ...
3. **动态方法调用(Dynamic Method Invocation,DMI)**:如果配置文件中也没有通配符匹配,Struts2会尝试使用动态方法调用来解析Action。它将URL中的部分作为Action类的方法名进行调用。比如,URL为`/myMethod/...