我的JSP页面使用了Struts的JSP标签库,但是在Java代码里面没有使用Struts的任何其他类,也就是说我在编译的时候是不需要Struts包的。程序在Struts1.2.9版本下运行正常,但是换成Struts1.3.5版本的时候就报错了!
源代码:
<html:link href="/BlogArticleAction">View Article</html:link>
错误信息是说“module = null”找不到对象。最后我查看源代码之后,发现Struts1.3.5版本需要从ServletContext中取出ModuleConfig对象。由于我没有使用Struts的配置文件,所以ServletContext没有装入这个对象。令我非常不理解的是,由于我使用了<html:link>标签,Struts1.3.5版本需要查找ModuleConfig对象,但是它却没有真正使用它,仅仅是把ModuleConfig对象取出来放在那里,而且不存在就会报错!昏倒!
最后我在我的ServletContext里面装入了一个空的ModuleConfig对象,一切又回复了平静:
ModuleConfig mc = new ModuleConfigImpl();
有人了解为什么Struts1.3.5会如此调整么?
- 大小: 56.5 KB
- 大小: 56.9 KB
- 大小: 36.5 KB
分享到:
相关推荐
1. 控制器进行初始化工作,读取配置文件,为不同的 Struts 模块初始化相应的 ModuleConfig 对象。 2. 控制器接收 Http 请求,并从 ActionConfig 中找出对应于该请求的 Action 子类,如果没有对应的 Action,控制器...
4. **org.apache.struts.taglib**和**org.apache.struts.taglib.html**: 这些是Struts的标签库,用于在JSP页面中生成HTML表单和控制流程,例如`<html:form>`、`<logic:iterate>`等。 5. **org.apache.struts.tiles*...
7. **org.apache.struts.taglib** 和 **org.apache.struts.taglib.html**: 这两个包包含了Struts的JSP标签库,如html、bean、logic等标签,方便在视图层与模型和控制器交互。 通过深入学习这些源码,开发者可以了解...
- 这是Struts配置文件的根元素,其配置类为org.apache.struts.config.ModuleConfig。该元素下有8个子元素,每个都扮演着不同的角色,如数据源配置、全局异常处理、全局转发等。 #### 2. **Data-Sources元素** - `...
在Struts中,`web.xml`主要负责配置ActionServlet和声明Struts标签库。 1. **配置ActionServlet**: `ActionServlet`是Struts的核心控制器,处理所有的HTTP请求。在`web.xml`中,我们需要定义一个Servlet并指定其为`...
6. **Struts标签库配置:** `<taglib>`元素用于引入Struts的自定义标签库。`<taglib-uri>`定义标签库的URI,`<taglib-location>`则指定标签库的路径,这样在JSP页面中可以通过URI引用这些标签。 7. **Struts配置...
- `<taglib>`: 配置标签库的位置和URI。 ##### 2. 为Struts2应用配置web.xml - **ActionServlet 配置**: - 使用 `<servlet>` 标签配置ActionServlet。 - `servlet-name` 属性: 指定名称,如 `action`。 - `...
总之,Struts通过提供一套完善的框架,实现了MVC模式在Web应用中的有效实施,其模块化设计、配置文件支持以及丰富的标签库都极大地优化了开发流程。掌握Struts,不仅可以提升开发效率,也有助于理解Web应用的设计...
- `org.apache.struts.taglib`: 包含JSP标签库,如HTML、Logic和Bean标签库。 - `org.apache.struts.validator`: 提供了表单验证功能。 3. **流程概述** - 当用户发起请求时,ActionServlet捕获请求并调用`...
- org.apache.struts.taglib:JSP标签库,如logic标签和bean标签,方便在JSP页面中实现逻辑控制。 - org.apache.struts.validator:提供了验证框架,用于验证用户输入的数据。 通过理解这些组件和它们在Struts框架...
- 对初学者来说,大量使用标签库可能较难上手。 - ActionForms不易用,不支持单元测试,需要依赖StrutsTestCase进行集成测试。 2. **实现MVC的方式**: - Struts使用JSP作为视图(View),ActionServlet作为控制器...
3. `org.apache.struts.taglib.html.FormTag`:这是Struts的HTML标签库中的一个关键元素,处理表单提交。 4. `org.apache.struts.util.MessageResources`:处理国际化和本地化信息的类。 通过研究这些源码,开发者...
- 初始化:读取配置文件,为模块创建ModuleConfig。 - 接收请求:根据ActionConfig映射请求到Action子类。 - ActionForm填充:使用请求参数初始化ActionForm,可进行参数合法性验证。 - 执行业务逻辑:Action的...
1. **添加依赖**:首先,你需要将Hibernate的相关库文件(如hibernate-core.jar、hibernate-annotations.jar等)放入Web应用的lib目录下,确保Struts和Hibernate能正常工作。 2. **配置Hibernate**:创建`hibernate...