`
zhongzhihua
  • 浏览: 313885 次
  • 来自: ...
社区版块
存档分类
最新评论

关于Struts2 convention 如何找到path

阅读更多

在struts.xml中我们可以写<action name="login" class="com.zzh.web.loginAction"></action>

通过form 中指定的login.action跟class相关联,在Struts2 convention 可以自动去找到,

<!-- [if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning/> <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:SpaceForUL/> <w:BalanceSingleByteDoubleByteWidth/> <w:DoNotLeaveBackslashAlone/> <w:ULTrailSpace/> <w:DoNotExpandShiftReturn/> <w:AdjustLineHeightInTable/> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:UseFELayout/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!-- [if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!-- /* Font Definitions */ @font-face {font-family:Courier; panose-1:2 7 4 9 2 2 5 2 4 4; mso-font-alt:"Courier New"; mso-font-charset:0; mso-generic-font-family:modern; mso-font-format:other; mso-font-pitch:fixed; mso-font-signature:3 0 0 0 1 0;} @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} @font-face {font-family:Verdana; panose-1:2 11 6 4 3 5 4 4 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:536871559 0 0 0 415 0;} @font-face {font-family:"\@宋体"; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; mso-pagination:none; font-size:10.5pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:宋体; mso-font-kerning:1.0pt;} /* Page Definitions */ @page {mso-page-border-surround-header:no; mso-page-border-surround-footer:no;} @page Section1 {size:612.0pt 792.0pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:36.0pt; mso-footer-margin:36.0pt; mso-paper-source:0;} div.Section1 {page:Section1;} --> <!-- [if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} </style> <![endif]-->

默认情况下, Convention 会找到 com.opensymphony.xwork2.Action 的实现类,或制定包中以 Action 结尾的类 action

Convention 使用以下方法来搜索类路径,首先, Convention 会从根 package 中寻找包名含有 struts struts2action  or actions 的任意 packages 。下一部, Convention 从前一步找到的 package 以及其子 package 中寻找 com.opensymphony.xwork2.Action 的实现以及以 Action 结尾的类,下面为 Convention 寻找的类

Classes

com.example.actions.MainAction

com.example.actions.products.Display ( implements com.opensymphony.xwork2.Action)

com.example.struts.company.details.ShowCompanyDetailsAction

每一个被 Convention 找到 action 都会对应一个明确的 URL 地址, URL package 的名字以及 Action 类名为基础。

首先 Convention 从根 package 以及类所在的 package 名来确定对应的 URL 中的路径( namespace

我们也可以指定找出哪个包下的classs,只要在struts.xml中指定

<constant name="struts.convention.package.locators" value="web" />

这样这可以从web 包下找到,

如果包这样的如com.zzh.web.security.userAction

要在jsp中调用userAction只要 security/user.action 就可以了。

 

分享到:
评论

相关推荐

    struts2的Convention插件说明书(中文版)

    Struts2的Convention插件是一种自动化配置工具,从2.1版本开始引入,旨在减少XML配置,实现Struts2应用的零配置或者最少配置。该插件通过一系列预定义的命名规则和约定,自动解析和映射Action、结果页面、拦截器等...

    struts2采用convention-plugin实现零配置

    以下是关于Struts2 Convention-plugin的详细说明: 1. **约定优于配置**:Convention-plugin的核心理念是通过预设的规则减少手动配置。例如,Action类通常位于特定的包结构中,结果页面默认位于`WEB-INF/content`...

    struts-convention实现零配置

    2. **结果路径**:默认情况下,结果页面位于`WEB-INF/content`目录下,但可通过配置属性`struts.convention.result.path`更改。 3. **类名到URL**:类名通常被转换为小写的URL,如`MyAction` -&gt; `my-action`。 4. ...

    MyFramework - struts2 零配置:convention

    "MyFramework - Struts2 零配置:convention" 主题着重于介绍如何使用Struts2的Convention插件实现“零配置”开发,极大地简化了传统XML配置的繁琐过程。在传统的Struts2应用中,开发者需要为每个Action类和结果页面...

    Struts2约定优于配置

    Convention 插件可以通过设置 struts-plugin.xml 文件中的 &lt;constant name="struts.convention.package.locators" value="action,actions,struts,struts2"/&gt; 来配置 Action 类存在的路径搜索包。这个配置将所有包含...

    Struts2_Convention_Plugin中文文档

    Struts2 Convention Plugin 是一个用于简化 Struts2 配置的插件,自 Struts2.1 版本起引入,旨在实现零配置或者最少配置的开发环境。它通过一系列预定义的规则和约定,自动将请求映射到相应的 Actions 和结果页面,...

    Struts2配置精要之常量constant配置详解(包括零配置Convention 的常量)

    - `struts.convention.result.path`: 指定结果文件(如JSP)的默认路径。 - `struts.convention.action.suffix`: 设置Action类的默认后缀,通常默认为`.action`。 了解了常量配置后,我们来看看`Struts2零配置实现....

    struts2初始使用环境配置

    2. `struts2-convention-plugin.jar` 3. `struts2-java5-plugin.jar`(如果使用Java 5) 4. `struts2-spring-plugin.jar`(如果与Spring框架集成) 创建Struts2配置文件`struts.xml`。该文件位于`src/main/...

    struts2利用注解annotation实现文件下载

    Struts2框架通过其扩展插件——Struts Convention Plugin,支持使用注解的方式来配置控制器。这种方式简化了配置过程,使得开发者可以更专注于业务逻辑的编写。 #### 三、使用注解实现文件下载 在Struts2中实现...

    eclipse 配置struts2

    - 下载Struts2的核心库,包括struts2-core、struts2-convention-plugin等依赖包。 - 在Eclipse中,右键点击项目 -&gt; Build Path -&gt; Configure Build Path -&gt; Libraries -&gt; Add JARs 或 Add External JARs,将下载的...

    struts2零配置个人整理文档

    为了简化配置过程,Struts2提供了一个名为Convention插件的功能,它允许用户按照一定的约定来组织代码和配置,从而减少甚至消除XML配置文件的需求。 - **默认行为**:Convention插件默认将所有结果页面存储在`WEB-...

    convention-plugin

    - 结果页面默认路径:通常位于`WEB-INF/content`下,可通过`struts.convention.result.path`属性调整。 - 通过配置属性或覆盖类方法可以控制和扩展约定。 6. **在JAR文件中的Action** - 支持在JAR文件内定义...

    struts2 在eclipse 配置成功

    - 下载Struts2的核心库,通常包括`struts2-core`, `struts2-convention-plugin`, `struts2-json-plugin`等JAR文件,以及相关的依赖库,这些可以从Apache Struts官方网站获取。 2. **创建新项目**: - 打开Eclipse...

    Struts2.1零配置——convention-plugin

    2. **结果路径**:Action的结果路径通常是基于Action类名的,例如`HelloWorld`Action的默认结果可能是`hello-world.jsp`或`hello-world.ftl`,这些文件通常位于`WEB-INF/content`目录下,但可以通过配置`struts....

    struts2库的导入

    确保你的Web服务器已经正确配置了Struts2的过滤器,通常是`struts2-convention-plugin`或`struts2-core`的过滤器。 总的来说,导入Struts2库涉及创建User Libraries、将其添加到项目构建路径中、配置Struts2核心...

    struts2注解配置全面解析

    - **插件依赖**:要启用Struts2的注解支持,首先需要在项目中添加`struts2-convention-plugin`插件。例如,对于Struts2.1.8.1版本,你需要包含`struts2-convention-plugin-2.1.8.1.jar`。 - **配置项**:在项目的`...

    完整struts2文件上传示例

    同时,确保`struts2-convention-plugin`或`struts2-core`库包含在项目依赖中,它们包含了文件上传所需的组件。 2. **创建表单** 在HTML或JSP页面中,创建一个`&lt;form&gt;`标签,设置`enctype`属性为`multipart/form-...

    Struts2实现文件上传功能

    Struts2框架集成了一个名为`struts2-convention-plugin`的插件,它提供了文件上传的支持。主要依赖于`Commons FileUpload`和`Commons IO`这两个Apache的开源库,它们处理了文件上传的细节,如内存限制、临时文件...

Global site tag (gtag.js) - Google Analytics