`

使用struts2-convention-plugin-2.1.6的问题

阅读更多

  struts2已经升级到了2.16了,并使用Convention Plugin作为替换替换Codebehind Plugin来实现Struts2的零配

 

置,详细见其官方文档,Alfa.Shi翻译了中文版

 

   我在使用Convention Plugin时却遇到了一个N烦人的问题,小弟在此恳请各位赐教,不知道是我配置的问题还是插件

 

的本身的bug,我在访问相应action时,竟然不执行action中的execute()默认方法(访问action中其他方法时,居然报没

 

有相应的action名或result异常),而是直接跳转到相应的结果页面,比如访问HelloAction类,将跳转到hello.jsp,当我

 

把action类给删除了,还是同样跳转到的hello.jsp页面,所以可以肯定的是没有真正根据action来执行相应的跳转,因为

 

struts2-convention-plugin是即使在没有action存在情况下,也会根据URL规则来找到结果页面。

 

 

  struts.xml配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
        "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.convention.default.parent.package" value="crud-default" />
  <constant name="struts.convention.result.path" value="/mycontent"/> 
  
<package name="crud-default" extends="convention-default">
  <!-- 基于paramsPrepareParamsStack,增加store interceptor -->
  <interceptors>
   <interceptor-stack name="crudStack">
    <interceptor-ref name="store">
     <param name="operationMode">AUTOMATIC</param>
    </interceptor-ref>
    <interceptor-ref name="paramsPrepareParamsStack" />
   </interceptor-stack>
  </interceptors>
  <default-interceptor-ref name="crudStack" />
</package>
  
</struts>

    我具体的action包是这样的:"org.example.products.web.struts2" ( Convention会从根package中寻找包名含

 

有struts, struts2, action or actions的任意packages和查找符合条件package下面及其子package中对

 

com.opensymphony.xwork2.Action 的实现以及以Action结尾的类,所以"org.example.products.web.struts2"该

 

包下所有Action类应该都将被Convention找到),但是我的action不知怎么没用,就是没有被找到,哎!真是百思不得棋

 

解!!郁闷了好几天,现在还没找到原因!

     

      我的页面文件目录结构是这样:"webapp/mycontent/hello.jsp"(在struts.xml中配置了“ <constant

 

name="struts.convention.result.path" value="/mycontent"/>,更改了其默认存在WEB-INF/content下,如果

 

我想放在根目录下,不知是否是把value="/"就行?请教一下各位,恳请各位赐教!)。

   

       当我访问http://localhost:8080/hello.action时直接跳到hello.jsp页面,HelloAction中的execute方法没反应,直接把HelloAction删除了,访问还是同样。
   
       当访问http://localhost:8080/hello!save.action时,直接抱没有相应的action,但HelloAction中有save方法。


       小弟被此问题已困扰好几天了,这几天觉都睡不着,恳请各位赐教!小弟感激不尽!

        

  

 

                      

分享到:
评论
2 楼 h521999 2009-04-04  
应该不是index方法,我代码没有做任何更改,换一个工作空间(eclipse)就OK啦。现在也没搞懂是什么原因.
1 楼 kjj 2009-04-04  
没看到他错误吗,默认不再是execute了而已index方法

相关推荐

    struts2-convention-plugin-2.1.6.jar

    struts2-convention-plugin-2.1.6.jar

    struts2-convention-plugin-2.1.6.jar 和struts2-core-2.1.6.jar

    不论高低版本,要使用struts2-core这个jar包,当又需struts2-convention-plugin.jar时勿必要使两者版本一致哦,否则会有DefError、Unable to read class诸等错误

    struts2版本 2.1.6 必须的jar包 和 web.xml 文件的修改

    2. **struts2-convention-plugin.jar** - 提供了约定优于配置的特性,允许根据类名和方法名自动映射Action。 3. **struts2-config-browser-plugin.jar** - 用于在Web应用中浏览器查看Struts配置的插件。 4. **xwork-...

    Struts2-2.1.6一个最简单的例子,以及需要的基础jar包

    2. `struts2-convention-plugin-2.1.6.jar` - 提供了自动映射和插件功能。 3. `struts2-config-browser-plugin-2.1.6.jar` - 用于图形化浏览配置信息。 4. `xwork-core-2.1.6.jar` - XWork框架是Struts2的基础,包含...

    struts2-convention-plugin

    ### Struts2 Convention Plugin详解 #### 一、引言 从Struts2的2.1版本开始,Convention Plugin被引入,旨在替代原有的Codebehind Plugin,实现Struts2框架下的零配置理念。这一转变简化了应用程序的开发流程,...

    struts-2.1.6_jar包(全)

    2. **插件**:Struts 2支持许多插件来扩展其功能,如struts2-convention-plugin.jar用于自动配置Action,struts2-dojo-plugin.jar提供了与Dojo JavaScript库的集成,struts2-json-plugin.jar则支持JSON响应。...

    struts-2.1.6 项目基础包

    5. **struts2-convention-plugin.jar**:约定优于配置(Convention over Configuration)插件,简化了Action类和URL的映射。 6. **struts2-json-plugin.jar**:JSON 插件支持与 JSON 数据格式的交互,方便前后端...

    Struts2.1.6-all.zip (lib)

    Struts2.1.6-all.zip 是一个包含Struts2框架版本2.1.6所有库文件的压缩包,主要用于Java Web开发。Struts2是一个开源的MVC(Model-View-Controller)框架,它继承了经典的Struts1框架,并在功能、性能和灵活性上进行...

    struts2.1.6+spring2.0+hibernate3.2常用配置包

    最近温习ssh2整合编程,顺便浏览下struts2有什么更新的消息,下载了新版本的struts2的2.1.8.1版,使用的是MyEclipse8.0开发,但是问题就随之而来了。MyEclipse8.0中自带的struts2版本是2.1.6,spring版本有2.0,2.5...

    struts2.1.6-lib

    3. **插件和支持库**: Struts2还提供了一系列插件,如 strut2-convention-plugin、struts2-json-plugin 等,它们扩展了框架的功能,例如自动配置、JSON响应等。这些插件的jar包也可能存在于lib目录下,以支持特定的...

    struts2.1.6的jar包

    5. `struts2-convention-plugin.jar`:提供了约定优于配置的特性,让开发者可以避免大量XML配置,通过类名和方法名自动匹配Action和结果。 6. `struts2-json-plugin.jar`:这个插件支持JSON格式的数据交互,便于与...

    struts2.1.6-lib.rar

    Struts2.1.6-Lib是一个用于Java Web开发的压缩包,包含了Struts2框架的1.6版本的核心库文件。Struts2是Apache软件基金会的一个开源项目,它是一个强大的MVC(Model-View-Controller)框架,用于构建可维护、可扩展且...

    struts2.1.6利用convention-plugin和json-plugin实现json零配置

    2. 配置Struts:在`struts.xml`中启用Convention Plugin和JSON Plugin。 3. 设计Action:编写Action类,遵循约定的命名规则,并添加必要的方法。 4. 标注Action:使用`@Action`和`@Result`等注解来定义Action的行为...

    struts2-Convention插件使用

    ### Struts2-Convention插件使用详解 #### 引言 自Struts2.1版本起,Convention插件被引入,旨在替代原有的Codebehind插件,实现框架内的零配置理念。这一插件的设计思想围绕着减少XML配置的依赖,通过代码结构与...

    struts 2.1.8 jar 完整开发

    commons-fileupload-1.2.1 commons-io-1.3.2 freemarker-2.3.15 ognl-2.7.3 struts2-json-plugin-2.1.8.1 ...struts2-convention-plugin-2.1.8.1 xwork-core-2.1.6 struts2-spring-plugin-2.1.8.jar

    struts2-core-2.1.6.jar

    4. **表达式语言(OGNL)**:Struts2使用OGNL(Object-Graph Navigation Language)作为默认的表达式语言,用于在Action、ValueStack和视图层之间传递数据。例如,`#{user.name}`可以在JSP中直接访问Action中的user...

    struts2.1.6-jar包

    7. **Struts2的插件**:Struts2具有丰富的插件体系,如Struts2-dojo-plugin提供Dojo JavaScript库的支持,Struts2-convention-plugin简化了Action的配置,还有Struts2-json-plugin用于JSON数据的处理。 8. **Tiles*...

    Struts2-rest插件(有注释)

    从 Struts 2.1 开始,Struts 2 改为使用 Convention 插件来支持零配置。Convention 插件彻底地抛弃了配置信息,不仅不需要使用 struts.xml 文件进行配置,甚至不需要使用 Annotation 进行配置。而是由 Struts 2 根据...

    struts-2.1.6_参考文档

    9. **插件系统**:Struts 2具有丰富的插件库,例如Struts2-dojo-plugin用于集成Dojo JavaScript库,Struts2-convention-plugin简化了配置过程。 10. **最佳实践**:在实际开发中,我们需要遵循一些最佳实践,如合理...

Global site tag (gtag.js) - Google Analytics