`
imp860124
  • 浏览: 42226 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

设置Struts 2处理的请求后缀及Action调用

阅读更多
设置Struts 2处理的请求后缀及Action调用
1、在struts2中默认处理的请求后缀为action,我们可以修改struts.xml 和struts.properties来修改默认的配置,在struts.xml中<struts>添加子接点<constant name=”struts.action.extension” value=”do” /> 或者是修改struts.properties文件 添加struts.action.extension = do这都是一样的效果
     注意:struts.xml 和struts.properties的都放在src下发布的时候会自动拷贝到WEB-INF/classes下
2、如何调用Action的方法 这是本章的重点

1) 如果在Action中只有一个 execute方法那么配置好后就会自动访问这个方法。如果方法名字不是execute 那么我们需要在struts.xml中的Action接点添加一个method属性为该方法签名,如下:

<action method=”hello” name=”helloAction” class=”com.struts2.chapter5.HelloAction”></action>

这样就会调用hello的方法!
2)这是一个控制器负责处理一个请求的方式,但这样就会造成很多的Action类,给维护带来困难。所以可以让一个 Action可以处理多个不同的请求。对于一个学生信息管理模块来说,通过一个Action处理学生信息的添、查、改、删(CRUD)请求,可以大大减少 Action的数量,有效降低维护成本。下面代码让我们可以使用通配符来操作

 public class StudentAction{

     public String insertStudent(){…} 

     public String updateStudent(){…} 

}

<action name=”*Student” class=”com.struts2.chapter5.StudentAction” method=”{1}”>

    <result name=”success”>/result.jsp</result>

</action>

仔细观察一下,发现name属性中有一个”*”号,这是一个通配符,说白了就是方法名称,此时method必须配置成method={1},才能找到对应的方法。现在,如果想调用insertStudent方法,则可以输入下面的URL进行访问:http://localhost:8081 /Struts2Demo/ insertStudent.do,如果想调用updateStudent方法,则输入http://localhost:8081/Struts2Demo/updateStudent.do即可。格式如何定义,完全由程序员决定,”*”放在什么地方,也是可以自定义的。

3)对于上面的StudentAction我们还可以这样配置

<action name=”studentAction” class=”com.struts2.demo.StudentAction”>
   <result name=”success”>/result.jsp</result>
  </action>

调用Action的方法还可以通过”Action配置名!方法名.扩展名”

http://localhost:8081/Struts2Demo/studentAction!insertStudent.do

http://localhost:8081/Struts2Demo/studentAction!updateStudent.do

分享到:
评论
1 楼 yzf555 2011-07-01  
struts.action.extension 的值可以有多个吗

相关推荐

    struts2改写url后缀demo

    在Struts2中,URL通常以`.do`结尾,这是默认的Action映射后缀。然而,为了提供更加用户友好的URL和提高搜索引擎优化(SEO),开发者可能希望将这些后缀更改为更自然的扩展名,如`.html`。本教程将深入探讨如何在...

    去掉.action去掉.do字样 隐藏struts2 URL地址action, strus1的扩展名do也是同理.zip

    Struts2和Struts1是两个非常著名的Java Web框架,它们在处理请求时通常会在URL中显式地显示.action或.do后缀。然而,为了提供更友好的用户体验和增强安全性,有时我们需要隐藏这些扩展名。本篇文章将详细介绍如何在...

    Struts2请求处理方法的处理

    在Struts2框架中,一个Action可以包含多个请求处理方法,这种设计模式极大地提升了代码的灵活性与可维护性。通过这种方式,开发人员可以根据不同的业务需求定义不同的处理逻辑,并且能够很好地组织这些逻辑,避免了...

    传智播客struts2.1源代码_指定需要Struts 2处理

    默认情况下,Struts2会处理以`.action`为后缀的请求。若要改变这个默认设置,需要在`struts.xml`配置文件中进行调整。可以通过以下方式指定新的请求后缀: ```xml &lt;constant name="struts.action.extension" ...

    Struts2的常量详解

    struts.action.extension 属性指定需要 Struts 2 处理的请求后缀,该属性的默认值是 action,即所有匹配*.action 的请求都由 Struts 2 处理。 14. struts.serve.static struts.serve.static 属性设置是否通过 JAR ...

    Struts2中struts_xml的Action配置详解

    在这个例子中,`saveUser`是Action的名称,当用户发送一个以`saveUser`为后缀的请求时,Struts2会将该请求映射到`SaveUserAction`类。 `class`属性指定Action的实现类,即处理请求的Java对象。这个类通常需要继承自...

    Struts2属性文件详解

    此属性指定了需要Struts 2处理的请求后缀,默认值为`action`,即所有匹配`*.action`的请求都将由Struts 2处理。如果需要指定多个请求后缀,可以用英文逗号`,`分隔。 #### struts.serve.static 设置了是否通过JAR...

    struts2自学文档

    - **请求后缀**:可以通过配置指定Struts2处理的请求后缀,如.action。 - **Struts2常量**:可以通过配置文件设置各种常量,例如指定默认编码等。 #### 六、配置文件管理 - **多配置文件**:可以指定多个配置文件...

    用js模拟struts2的多action调用示例

    本篇文章将讨论如何使用JavaScript来模拟Struts2中的多Action调用,以解决此类问题。 动态方法调用是Struts2的一项重要特性,它允许我们根据传递的参数动态决定执行哪个Action。在Struts2.1版本中,可以通过在...

    struts2登陆案例

    每个Action类对应一个URL,当用户发送请求到特定URL时,Struts2会根据配置找到对应的Action进行处理。 在Struts2的配置文件(struts.xml)中,我们需要定义Action类与URL的映射关系。例如,对于登录功能,我们可以...

    struts2笔记

    5. **请求后缀配置**:默认情况下,Struts2处理的请求后缀是`.action`,但可以通过修改`struts.action.extension`常量来改变,比如设置为`.do`或`.jsp`。 6. **常量定义**:Struts2有一系列预定义的常量,用于全局...

    struts2 详解文档

    10. **处理流程**:Struts2接收请求,通过FilterDispatcher过滤器,匹配Action,执行Action,然后根据Result配置进行视图跳转。 11. **多配置文件**:可以使用元素在struts.xml中包含其他配置文件,以便于模块化...

    2012struts2读书笔记

    通过在配置文件中设置 `”struts.action.extension” value=”do”/&gt;` 可以改变Struts2的请求后缀,如改为`.do`。若要指定多个后缀,可以使用逗号分隔,如`value=”do,action”`。 5. 常用的Struts2常量: - `...

    Struts2环境.doc

    例如,“struts.i18n.encoding”设置默认的字符编码为UTF-8,而“struts.action.extension”定义了Struts2处理的请求后缀,默认为“do”。 - `&lt;package&gt;`元素定义了一个包,它包含一组相关的动作。每个包可以扩展...

    Struts2属性文件详解.doc

    13. `struts.action.extension`:设置Struts2处理的请求后缀,默认是`action`,这意味着所有以`.action`结尾的请求会被Struts2拦截。可以使用逗号分隔多个后缀。 14. `struts.serve.static`:决定是否通过JAR文件...

    Struts2入门级别文档

    - `&lt;constant name="struts.action.extension" value="do,action,,"/&gt;`:指定Struts2处理的请求后缀,默认为`action`,多个后缀间以英文逗号分隔。 - `&lt;constant name="struts.configuration.xml.reload" value=...

    struts2和servlet的共存问题

    - **具体操作**:通过修改`web.xml`中的Struts2过滤器映射规则,仅让Struts2处理特定后缀的请求。 - **实现步骤**: - 删除`web.xml`中Struts2的全局映射规则`&lt;url-pattern&gt;/*&lt;/url-pattern&gt;`。 - 添加新的映射...

Global site tag (gtag.js) - Google Analytics