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方法。
小弟被此问题已困扰好几天了,这几天觉都睡不着,恳请各位赐教!小弟感激不尽!
分享到:
相关推荐
struts2-convention-plugin-2.1.6.jar
不论高低版本,要使用struts2-core这个jar包,当又需struts2-convention-plugin.jar时勿必要使两者版本一致哦,否则会有DefError、Unable to read class诸等错误
2. **struts2-convention-plugin.jar** - 提供了约定优于配置的特性,允许根据类名和方法名自动映射Action。 3. **struts2-config-browser-plugin.jar** - 用于在Web应用中浏览器查看Struts配置的插件。 4. **xwork-...
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的2.1版本开始,Convention Plugin被引入,旨在替代原有的Codebehind Plugin,实现Struts2框架下的零配置理念。这一转变简化了应用程序的开发流程,...
2. **插件**:Struts 2支持许多插件来扩展其功能,如struts2-convention-plugin.jar用于自动配置Action,struts2-dojo-plugin.jar提供了与Dojo JavaScript库的集成,struts2-json-plugin.jar则支持JSON响应。...
5. **struts2-convention-plugin.jar**:约定优于配置(Convention over Configuration)插件,简化了Action类和URL的映射。 6. **struts2-json-plugin.jar**:JSON 插件支持与 JSON 数据格式的交互,方便前后端...
Struts2.1.6-all.zip 是一个包含Struts2框架版本2.1.6所有库文件的压缩包,主要用于Java Web开发。Struts2是一个开源的MVC(Model-View-Controller)框架,它继承了经典的Struts1框架,并在功能、性能和灵活性上进行...
最近温习ssh2整合编程,顺便浏览下struts2有什么更新的消息,下载了新版本的struts2的2.1.8.1版,使用的是MyEclipse8.0开发,但是问题就随之而来了。MyEclipse8.0中自带的struts2版本是2.1.6,spring版本有2.0,2.5...
3. **插件和支持库**: Struts2还提供了一系列插件,如 strut2-convention-plugin、struts2-json-plugin 等,它们扩展了框架的功能,例如自动配置、JSON响应等。这些插件的jar包也可能存在于lib目录下,以支持特定的...
5. `struts2-convention-plugin.jar`:提供了约定优于配置的特性,让开发者可以避免大量XML配置,通过类名和方法名自动匹配Action和结果。 6. `struts2-json-plugin.jar`:这个插件支持JSON格式的数据交互,便于与...
Struts2.1.6-Lib是一个用于Java Web开发的压缩包,包含了Struts2框架的1.6版本的核心库文件。Struts2是Apache软件基金会的一个开源项目,它是一个强大的MVC(Model-View-Controller)框架,用于构建可维护、可扩展且...
2. 配置Struts:在`struts.xml`中启用Convention Plugin和JSON Plugin。 3. 设计Action:编写Action类,遵循约定的命名规则,并添加必要的方法。 4. 标注Action:使用`@Action`和`@Result`等注解来定义Action的行为...
### Struts2-Convention插件使用详解 #### 引言 自Struts2.1版本起,Convention插件被引入,旨在替代原有的Codebehind插件,实现框架内的零配置理念。这一插件的设计思想围绕着减少XML配置的依赖,通过代码结构与...
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
4. **表达式语言(OGNL)**:Struts2使用OGNL(Object-Graph Navigation Language)作为默认的表达式语言,用于在Action、ValueStack和视图层之间传递数据。例如,`#{user.name}`可以在JSP中直接访问Action中的user...
7. **Struts2的插件**:Struts2具有丰富的插件体系,如Struts2-dojo-plugin提供Dojo JavaScript库的支持,Struts2-convention-plugin简化了Action的配置,还有Struts2-json-plugin用于JSON数据的处理。 8. **Tiles*...
从 Struts 2.1 开始,Struts 2 改为使用 Convention 插件来支持零配置。Convention 插件彻底地抛弃了配置信息,不仅不需要使用 struts.xml 文件进行配置,甚至不需要使用 Annotation 进行配置。而是由 Struts 2 根据...
9. **插件系统**:Struts 2具有丰富的插件库,例如Struts2-dojo-plugin用于集成Dojo JavaScript库,Struts2-convention-plugin简化了配置过程。 10. **最佳实践**:在实际开发中,我们需要遵循一些最佳实践,如合理...