注册页面中用到了<s:head theme="ajax" />来引入dojo,做了一个简单的检测用户名是否存在的ajax效果。昨天还好好的,今天页面装载后就报"dojo未定义"的js错误。打开浏览器的查看源代码,tag起效了,在浏览器地址栏中敲struts/dojo/dojo.js,确实找不到文件。奇了怪了,是不是谁把struts包里的dojo文件给删除了?一顿好找,没问题。干脆新建一个jsp,只放<s:head theme="ajax" />,直接对其访问,坏了,jsp页面甩出一大堆错误,在org.apache.struts2.views.jsp.TagUtils.getStack(TagUtils.java:58)中抛出了NullPointerException。翻出源代码,一顿找,问题出现在
Dispatcher du = Dispatcher.getInstance();
Map extraContext = du.createContextMap(new RequestMap(req),
req.getParameterMap(),
new SessionMap(req),
new ApplicationMap(pageContext.getServletContext()),
req,
res,
pageContext.getServletContext());
调试显示du为null。该request的Dispatcher没初始化?赶紧到web.xml看看,原来
<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>
被同事改为
<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>*.action</url-pattern>
</filter-mapping>
这样.jsp文件没走FilterDispatcher,Dispatcher du = Dispatcher.getInstance()当然为null了。原来struts的tag用法比较严格:所在jsp必须经过FilterDispatcher。突然灵光一现,由此及彼,jsp不好用了,js,css不也一样的道理吗?遂赶紧加上:
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/struts/*</url-pattern>
</filter-mapping>
测试通过。
分享到:
相关推荐
Struts2-dojo-plugin-2.2.1.jar 是一个针对Apache Struts2框架的扩展插件,主要用于增强Struts2应用的用户界面交互性,特别是通过集成Dojo JavaScript库来提供丰富的AJAX功能和用户体验。这个插件是Struts2与Dojo ...
struts2-ssl-plugin-1.2.1.jar
`struts2-json-plugin-2.1.8.1.jar` 则是Struts 2框架的一个插件,主要用于增强Struts 2对JSON的支持。Struts 2是一款非常流行的MVC(Model-View-Controller)框架,用于构建企业级的Java Web应用程序。这个插件允许...
Struts2-Spring-Plugin-2.3.4.jar 是一个专门为 Struts 2 框架和 Spring 框架整合而设计的插件,主要用于处理 Struts 2 和 Spring 之间的集成问题。在Java Web开发中,这两个框架经常一起使用,Spring 提供了依赖...
Struts2是一个非常流行的Java Web开发框架,它提供了一种模型-视图-控制器(MVC)架构,帮助开发者构建可维护、结构清晰的Web应用。Sitemesh则是一个页面布局和装饰框架,用于统一网站的外观和感觉,增强页面的...
Struts2 JSON Plugin是针对Apache Struts2框架的一个重要组件,版本为2.3.8。这个插件主要的功能是让Struts2应用程序能够轻松地处理JSON(JavaScript Object Notation)数据格式,使得Web应用可以方便地进行JSON序列...
Struts2是一个非常著名的Java Web开发框架,它基于MVC(Model-View-Controller)设计模式,极大地简化了Java Web应用程序的开发。Struts2核心包`struts2-core-2.0.11`包含了框架的核心组件和功能,使得开发者能够...
struts2-convention-plugin-2.3.15.1.jar
struts2-jfreechart-plugin-2.1.8.1.jar
Struts2是一个非常流行的Java Web开发框架,它提供了一种模型-视图-控制器(MVC)架构,便于开发者构建动态、数据驱动的Web应用程序。然而,在开发过程中,经常会出现库文件版本不兼容的问题,这可能导致程序运行...
最新struts2-spring-plugin-2.3.24.1.jar
struts2-core-2.1.6.jarstruts2-core-2.1.6.jarstruts2-core-2.1.6.jarstruts2-core-2.1.6.jarstruts2-core-2.1.6.jarstruts2-core-2.1.6.jarstruts2-core-2.1.6.jarstruts2-core-2.1.6.jarstruts2-core-2.1.6.jar...
Struts2-jQuery-Plugin是基于Struts2框架的一个扩展插件,它为开发者提供了丰富的jQuery UI组件,使得在Struts2应用中实现交互式的用户界面变得更加便捷。这个使用手册将详细阐述如何集成并利用该插件提升Web应用的...
struts2-dojo 跨域时解决拒绝访问的问题
struts2-core-2.2.1-sources.jar 源码,学strut2源码时能用到的
struts2-jfreechart-plugin-2.0.11.jarstruts2-jfreechart-plugin-2.0.11.jarstruts2-jfreechart-plugin-2.0.11.jar
struts2-core-2.3.15.1.jar
struts2-spring-plugin-2.2.1.jarstruts2-spring-plugin-2.2.1.jarstruts2-spring-plugin-2.2.1.jar
Struts2是一个强大的Java web应用程序框架,它提供了一种组织MVC(模型-视图-控制器)架构的方式,使得开发者可以更容易地构建可维护、可扩展的Web应用。jQuery则是一个广泛使用的JavaScript库,简化了DOM操作、事件...
Struts2是一个非常著名的Java Web框架,用于构建和维护可扩展且易于管理的企业级应用程序。在Web开发领域,Struts2以其灵活性、强大的MVC(Model-View-Controller)架构和丰富的插件库而备受赞誉。这个压缩包包含了...