`

002 - struts2 _ action基本配置_路径问题

阅读更多

1)action基本配置 

 

//IndexAction。java

public class IndexAction extends ActionSupport {

 public String execute() {
  return "success";
 }
}

 

//对应的struts.xml

 <package name="front" extends="struts-default" namespace="/">
     <action name="index" class="front.action.IndexAction"  method="...">
                    <result name="success">/ActionIntroduction.jsp</result>
      </action>
</package>
 
Action执行的时候并不一定要执行execute方法
可以在配置文件中配置Action的时候用method=来指定执行哪个方法
也可以在url地址中动态指定(动态方法调用DMI)(推荐)
 
DMI(动态方法调用)方式:
  <package name="user" extends="struts-default" namespace="/user">
           <action name="user" class="user.action.UserAction">
                  <result>/user_add_success.jsp</result>
               </action>
  </package>
 
链接写法:<a href="user/user!add">添加用户</a>
 
 
使用通配符配置action方式:
 
<package name="actions" extends="struts-default" namespace="/actions">
           <action name="Student*" class="action.StudentAction" method="{1}">
                       <result>/Student{1}_success.jsp</result>
        </action>             
            <action name="*_*" class="action.{1}Action" method="{2}">
                        <result>/{1}_{2}_success.jsp</result> 
           </action>
</package>           其中"{1}”表示第1个*号,"{2}”表示第2个*号,以此类推
 
 
 
 
 

2)  路径问题

struts2中的路径问题是根据action的路径而不是jsp路径来确定,所以尽量不要使用相对路径
虽然可以用redirect方式解决,但redirect方式并非必要。

解决办法非常简单,统一使用绝对路径。(在jsp中用request.getContextRoot方式来拿到webapp的路径)

或者使用myeclipse经常用的,指定basePath

 

解决办法

加入: 

<%
      String path = request.getContextPath();
      String basePath = request.getScheme()+"://"+

                                                  request.getServerName()+":"+request.getServerPort()+path+"/";
%>

 在<head>标签后加入

<base href="<%=basePath%>" />

 

这样,这个页面中所的连接,jsp都会帮忙加上:http://localhost:8080/appricationName/ (类似这样的东西)

 


分享到:
评论

相关推荐

    springboot-hibernate-strruts2_springboot_struts2_hibernate_整合_源码

    这个名为"springboot-hibernate-strruts2_springboot_struts2_hibernate_整合_源码"的压缩包文件,显然包含了将Spring Boot与Struts2和Hibernate整合的示例代码或项目模板。下面我们将详细讨论如何进行这种整合以及...

    RESTful-Struts2-2.3.15_JARs

    Struts2从2.1版本开始引入了对REST的支持,通过Action配置和拦截器可以轻松构建RESTful服务。在2.3.15版本中,Struts2已经提供了完善的REST插件,使得开发者可以通过简单的配置实现RESTful请求的映射和处理。例如,...

    Struts2_Action学习笔记、通配符{1},{2}

    ### Struts2_Action 学习笔记与通配符配置详解 #### 一、Struts2简介及简单配置 Struts2是一个基于Java EE平台的开源Web应用框架,它继承了Struts1的优点,并在此基础上进行了大量的改进。Struts2的核心功能之一是...

    Ckeditor--upload-picture-struts2.zip_ckediter struts2_ckeditor_j

    其中,`actionUrlForUpload`是Struts2处理图片上传的Action路径。 4. **Struts2 Action编写** 在Struts2中创建一个Action,处理图片上传请求。使用`@Result`注解指定返回结果类型,如JSON或流类型。同时,使用...

    Struts2_0400_Path.rar_struts2_0400_Path

    修复这个漏洞通常需要更新Struts2到安全的版本,并正确配置路径以防止未经验证的OGNL表达式执行。 学习Struts2的路径配置,你需要了解以下概念: 1. 动作(Action):代表一个具体的业务操作,通常映射到一个Java类...

    简述STRUTS2_Convention零配置

    STRUTS2 Convention 零配置是Struts2框架自版本2.1开始引入的一种新型配置方式,旨在简化开发过程,提高开发效率。它通过自动根据预定义的约定来配置Action,无需手动编写XML配置文件或者使用注解,极大地减少了...

    Manning - Struts 2 in Action源码

    《Struts 2 in Action》是...总的来说,通过研究《Struts 2 in Action》的源码,开发者不仅可以深入理解Struts 2框架的内部工作流程,还能提高实际开发中的问题解决能力,为构建高效、可维护的企业级应用打下坚实基础。

    spring-mybatis-struts2-master ——demo

    3. 配置Struts2:配置struts.xml,定义Action及其结果,设置拦截器栈。 4. 配置MyBatis:创建mybatis-config.xml,定义数据源、事务工厂,以及Mapper接口和XML映射文件的路径。 5. 创建实体类、Mapper接口和XML映射...

    Struts2--3.Action及相关-1

    `Struts2_0400_Path`涉及Action的路径配置。路径决定了Action如何与URL绑定。在struts.xml或struts.properties文件中,我们可以定义Action的namespace和actionName,形成完整的Action路径。这有助于组织和模块化应用...

    struts2_OGNL Demo

    Struts2_OGNL Demo 是一个用于演示Struts2框架中OGNL(Object-Graph Navigation Language)表达式语言的实例。这个项目旨在帮助开发者理解和学习如何在Struts2中使用OGNL来操纵对象和数据。OGNL是Struts2中一个重要的...

    Struts2_入门篇_基本配置_通配符_参数注入_内置对象获取等。。。

    本入门篇主要涵盖了Struts2的基础配置、通配符使用、参数注入以及内置对象的获取,非常适合初学者进行学习。 1. **基础配置**:在Struts2中,基础配置主要通过`struts.xml`文件完成。这个文件定义了Action(动作)...

    Struts2_0500_ActionMethod

    2. 请求映射:Struts2的DispatcherServlet接收到请求后,通过Struts2的配置文件(struts.xml或struts.properties)找到对应的Action配置,确定要执行的Action类及其Action方法。 3. Action实例化:Struts2使用IoC...

    Java实训教程 Java软件开发实战 Java开发框架介绍 struts2_3_配置参数详解 共47页.pptx

    ### Java Struts2框架配置参数详解 #### 一、引言 随着Java Web技术的不断发展,Struts2作为一款流行的MVC(Model-View-Controller)框架,在Java Web开发领域中占据着重要的地位。它简化了Java Web应用程序的开发...

    struts2_HelloWorld代码

    总的来说,"struts2_HelloWorld代码"是一个很好的起点,它帮助初学者理解Struts2框架的基本结构和工作原理。通过这个例子,你可以学习到Action的创建、配置文件的编写、视图的呈现以及Struts2的核心概念。随着深入...

    Struts2_0700_ActionAtrrParamInput

    综上所述,Struts2_0700_ActionAtrrParamInput可能涵盖了如何使用Action属性接收参数、如何处理输入流以及配置文件中对Action的定义等内容。学习这部分知识有助于深入理解Struts2框架的工作原理,提高开发效率。

    Struts2_Spring2.5_Hibernate3.3 配置

    2. 框架下载与导入:下载Struts2、Spring和Hibernate的jar包,将其添加到项目的类路径中。 3. web.xml配置:配置Struts2的核心过滤器和Spring的ContextLoaderListener,以启动这两个框架。 4. struts.xml配置:定义...

    SSH笔记_Struts2配置

    - **Action配置**:在`struts.xml`中,通过`&lt;action&gt;`标签定义Action,包括名字、类、方法、结果等属性。 ```xml &lt;action name="exampleAction" class="com.example.ExampleAction" method="execute"&gt; ...

    00000033_bean-struts的用法.rar

    - **struts-config.xml**:配置文件是Bean-Struts的心脏,定义了Action、ActionMapping、Form Bean等关键元素。 3. **工作流程:** - 用户发起HTTP请求。 - ActionServlet捕获请求,解析请求参数,根据struts-...

    Spring-整合-Struts2

    -- 具体的action配置 --&gt; &lt;/struts&gt; ``` ##### 2. 在 WEB 应用中加入 Spring - **加入 Spring 的 JAR 包**:确保加入以下Spring的JAR包: - `spring-web-4.0.0.RELEASE.jar` - `spring-beans-4.0.0.RELEASE....

    struts2_spring_jpa

    在这个"struts2_spring_jpa"的整合案例中,开发者将会学习如何配置Struts2的配置文件(struts.xml)以处理HTTP请求,以及如何定义Action类来执行业务逻辑。同时,Spring的配置文件(如applicationContext.xml)会...

Global site tag (gtag.js) - Google Analytics