struts2 标签使用异常 The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the request has passed through its servlet filter, which initializes the Struts dispatcher needed for this tag. - [unknown location]
在JSP 使用struts2标签报错。。
总结后是 web.xml 的配置错误。。
原来的
<!-- struts2 图片上传 -->
<filter>
<filter-name>struts-cleanup</filter-name>
<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
</filter>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
修改后。。需要为 .jsp 配置
<!-- struts2 图片上传 -->
<filter>
<filter-name>struts-cleanup</filter-name>
<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
</filter>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
重新启动。OK
I am moving from other Servers like glassfishv2,tomcat6 to jrun4.
When i practice the tutorial from this link: http://struts.apache.org/2.0.11.1/docs/struts-2-spring-2-jpa-ajax.html
I've got a The Struts dispatcher cannot be found error, even though I successfully run this project on Tomcat6 and glassfishv2.
The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the request has passed through its servlet filter, which initializes the Struts dispatcher needed for this tag.
The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the request has passed through its servlet filter, which initializes the Struts dispatcher needed for this tag. - [unknown location]
at org.apache.struts2.views.jsp.TagUtils.getStack(TagUtils.java:60)
at org.apache.struts2.views.jsp.StrutsBodyTagSupport.getStack(StrutsBody TagSupport.java:52)
at org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(Component TagSupport.java:49)
at jrun__index2ejspa._jspService(jrun__index2ejspa.java:56)
at jrun.jsp.runtime.HttpJSPServlet.service(HttpJSPServlet.java:43)
at jrun.jsp.JSPServlet.service(JSPServlet.java:119)
at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
at jrun.servlet.JRunRequestDispatcher.invokeNext(JRunRequestDispatcher.j ava:586)
at jrun.servlet.JRunRequestDispatcher.forwardInvoke(JRunRequestDispatche r.java:555)
at jrun.servlet.JRunRequestDispatcher.forward(JRunRequestDispatcher.java :203)
at jrun.servlet.file.FileServlet.service(FileServlet.java:316)
at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java: 286)
at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java: 543)
at jrun.servlet.http.WebService.invokeRunnable(WebService.java:172)
at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.j ava:428)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
The web.xml is put under WEB-INF. Its content is:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="person" version="2.4" xmlns=" http://java.sun.com/xml/ns/j2ee" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>person</display-name>
<!-- Include this if you are using Hibernate -->
<filter>
<filter-name>Spring OpenEntityManagerInViewFilter</filter-name>
<filter-class>
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>Spring OpenEntityManagerInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter- class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
</web-app>
分享到:
相关推荐
Struts 2 标签的使用注意事项 Struts 2 是一个基于MVC架构的Java Web应用程序框架,它提供了一系列的标签来简化Web开发。然而,在使用Struts 2标签时,需要注意一些重要的事项。 首先,在使用Struts 2标签之前,...
下面我们将详细探讨Struts2标签的使用方法以及EL(Expression Language)表达式。 1. **Struts2标签库**: - **s:textfield**: 用于创建输入字段,可以设置属性如name、value、size、maxlength等。 - **s:...
本压缩包包含的源代码例子旨在帮助理解Struts 2的工作原理和使用方式,特别是Struts 2的标签库。 首先,我们来了解一下Struts 2的核心概念: 1. **Action类**:是业务逻辑的载体,通常继承自`org.struts.action....
通过查阅这个手册,开发者可以更深入地理解如何在JSP页面上使用Struts2标签,提高开发效率和代码质量。 总的来说,Struts2 API和标签手册是Java Web开发者必备的参考资料,它们可以帮助开发者快速掌握Struts2框架,...
总的来说,`org.apache.struts2.dispatcher.FilterDispatcher`是Struts 2框架中一个至关重要的组件,负责请求的分发和Action的调用,对于理解和掌握Struts 2的运行机制具有重要意义。开发者需要熟悉其工作原理和配置...
Struts2作为一款流行的Java Web框架,其异常处理机制是其核心功能之一,它使得开发者能够优雅地管理和处理应用程序中的异常情况,提供了一种统一的错误处理方式,从而提高用户体验并增强程序的健壮性。 在Struts2...
### Struts2初步使用总结 #### 一、Struts2原理概述 **1.1 为什么要用Struts2** 在探讨为何使用Struts2之前,我们先简要回顾一下Struts2的一些基本特点: - **模块化设计**:Struts2采用模块化的架构设计,使得...
9. **异常处理**:Struts2通过全局异常映射(Global Exception Mapping)来统一处理应用程序中抛出的异常,提高代码的可维护性。 10. **国际化与本地化**:Struts2支持多语言环境,可以通过资源包(properties文件...
9. **异常处理**:Struts2提供了一套全面的异常处理机制,通过配置`<global-exception-mappings>`标签,可以定义全局的异常处理策略。 在"struts2lib"这个压缩包中,可能包含的文件有`struts2-core.jar`(核心库)...
9. **异常处理**:Struts2提供了全局和局部的异常处理机制,可以统一处理应用中的异常情况,提高代码的可维护性和用户体验。 10. **国际化(i18n)**:Struts2支持多语言环境,通过资源包(Properties文件)来实现...
"struts2 jar"文件包含了Struts2框架的核心库,可能包括struts2-core、struts2-convention、struts2-json-plugin等依赖,这些是开发Struts2应用必不可少的组件。 "Struts2"可能是项目实例代码,包括Action类、视图...
Struts2支持多种结果类型,如dispatcher(转发到JSP)、stream(流式结果,常用于下载文件)等。 四、拦截器 5. 拦截器:拦截器是Struts2的核心组件,它们按照预设顺序在Action执行前后执行,实现AOP(面向切面编程...
这个API帮助文档是开发者在使用Struts2框架时的重要参考资料,它详细阐述了框架的各种组件、类库和方法,有助于理解并有效利用Struts2的功能。 1. **Struts2核心组件** - `struts2-core`:这是Struts2框架的核心...
<bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="myDefaultActionMapper" class="com.struts2.MyDefaultActionMapper" /> <constant name="struts.mapper.class" value=...
在开发租房网站的过程中,学生将学习如何创建Action类、配置struts.xml、设计数据库模型、编写DAO和Service层代码、实现页面交互以及使用Struts 2提供的各种功能来优化用户体验。这将帮助他们掌握Web应用开发的基本...
以上四种方法可以根据实际需求灵活组合使用,确保在Struts2应用中对异常有全面的控制。同时,结合日志管理,可以更好地跟踪和诊断问题,提升应用的健壮性。在实践中,理解并熟练掌握这些异常处理方式,能帮助开发者...
9. **异常处理**:通过全局异常处理,Struts2可以统一处理未捕获的异常,避免错误信息直接暴露给用户。 10. **类型转换**:Struts2提供了类型转换机制,自动将请求参数转换为Action类的属性类型,简化开发工作。 ...
6. **插件和标签库**:Struts2有丰富的插件和标签库,如FreeMarker和Velocity模板引擎,以及用于表单验证的Struts2-dojo-plugin等,这些都极大地简化了开发工作。 在"STRUTS2学习实例8"中,你可能将学习如何创建一...