Struts2 使用通配符动态请求Action】的更多相关文章

在以前的学习中,<action>元素的配置,都是用明确的配置,其name.class等属性都是一个明确的值.其实Struts2还支持class属性和method属性使用来自name属性的通配符. 1)接下来看看使用通配符的示例,如果我们使用以下<action>配置: <action name="personAction_*" class="cn.javass.action.personAction" method="{1}&q…
<!-- 创建包default,继承struts-default -->    <package name="default" extends="struts-default">            <action name="*_*" class="com.action.{1}Action" method={2}>              <result> /result.…
使用过Struts2的小伙伴们应该知道当我们的action的方法过多是如果需要通过Struts2框架进行运行,我们就必须在Struts2的配置文件Struts2.xml文件中配置多个action属性标签,但是当action个数在10以上时这种方法就显得不那么方便了,在此我们使用三种方法通过Struts2框架来动态地调用action [1]通过配置action属性 [2]通过感叹号的方式来调用 [3]通过通配符的方式 接下来我们就一一为大家讲解以上三种方法的使用: [1]通过配置action属性…
众所周知,默认条件下,在浏览器输入indexAction!execute.action,便会执行indexAction类里的execute方法,这样虽然方便,但可能带来安全隐患,通过url可以执行Action中的任意方法.    想要禁止调用动态方法,则要在struts.xml中通过constant元素将属性strutsenableDynamicMethodInvocation设置为false,来禁止调用动态方法.             <constant name="strutsena…
众所周知,默认条件下,在浏览器输入indexAction!execute.action,便会执行indexAction类里的execute方法,这样虽然方便,但可能带来安全隐患,通过url可以执行Action中的任意方法.    想要禁止调用动态方法,则要在struts.xml中通过constant元素将属性strutsenableDynamicMethodInvocation设置为false,来禁止调用动态方法.             <constant name="strutsena…
 通配符映射 * 一个 Web应用可能有成百上千个 action 声明. 可以利用 struts提供的通配符映射机制把多个彼此相似的映射关系简化为一个映射关系 * 通配符映射规则     > 若找到多个匹配, 没有通配符的那个将胜出     > 若指定的动作不存在, Struts 将会尝试把这个 URI与任何一个包含着通配符 * 的动作名及进行匹配      > 若 Struts找到的带有通配符的匹配不止一个, 最后一个匹配将胜出     > 被通配符匹配到的 URI 字符串的子串…
1.Action标签中的method属性 我们知道action默认的执行的方法是execute方法,但是一个action只执行一个方法我们觉得有点浪费,我们希望在一个action中实现同一模块的不同功能.怎么办呢? 思考: 我们是否可以在execute()方法中添加一个判断,然后根据该判断选择我们执行的方法呢?我想struts2也是这样干的.不过是在execute之前的方法中进行的,判断的依据不是通过参数,而是通过取读配置文件或者其他得到的. Struts2在Action中为我们提供了这样的一个…
1.问题描述 在struts.xml中配置用通配符方式调用action中的add()方法,访问 http://localhost:8080/Struts2Demo/helloworld_add.action时,出现了这个熟悉的错误: HTTP Status 404 – Not Found Type Status Report Message There is no Action mapped for namespace [/] and action name [helloworld_add] a…
1.Struts2中通配符可通过请求的url路径来确定包.类.方法.返回值名. 如 <action name="*_*_*_*" class="cn.javass.{1}.action.{2}Action" method="{3}"><result name="{3}">/{4}.jsp</result></action> 当请求login_login_login_login.a…
Struts2的Action类很有意思,你可以使用3种方式来实现具体的Action类: 让你的Action类继承自ActionSupport类(项目中最常用这种方式,因为ActionSupport类中定义了很多帮助方法) 让你的Action类实现Action接口 使用POJO的方式来实现,只要Action类中有一个返回值为String的execute方法就好了(这种方式使Action类最容易被测试) 以上三种Action的实现方式都可以被struts2框架自动识别,如果你在struts.xml里…