问题描述:
包含jsp:include的页面是通过Action方式跳转,jsp:include的page属性页也设置的是Action方式跳转。
当jsp:include默认flush=false时,页面直接跳转到jsp:include的page属性指定的页面。
当jsp:include=true时,被include的页面位置报错,提示请求已经提交。
原因说明:
关键在struts1.0处理跳转的时候,用的是org.apache.struts.tiles.TilesRequestProcessor类的以下代码:
protected void doForward(
String uri,
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
if (response.isCommitted()) {
this.doInclude(uri, request, response);
} else {
super.doForward(uri, request, response);
}
}
1.当 <jsp:include page= "**.do "/> 前面没有输出,且flush默认为false时,response是没有commit的。所以struts全部把它当forward处理了。
2.当flush=true时,response进行提交,所以页面报错,提示请求已经提交。
遗留问题:
this.doInclude(uri, request, response); 方法具体执行内容?
分享到:
相关推荐
- **`<jsp:param>`**:常与`<jsp:include>`配合使用,向被包含页面传递参数。 - **`<jsp:forward>`**:页面重定向,中断当前页面的执行,转到新的页面。 - **`<jsp:setProperty>`**:设置JavaBean的属性值,通常用于...
Struts2和JSP是两种在Java Web开发中广泛使用的技术。Struts2是一个基于MVC(Model-View-Controller)设计模式的开源框架,它主要用于构建和维护可扩展的、易于测试的Web应用程序。而JSP(JavaServer Pages)是一种...
使用方法: 1、复制kindEditor到你web工程的webContent下 2、复制struts需要的jar包和kindEditor必须jar包到lib下,因为它们的jar包邮重复,选择最新的就ok 3、如果需要后台java代码获取内容,可以在action中定义...
在JSP中,模型通常由JavaBeans(也称为POJOs)实现,视图是JSP页面,而控制器可能是Servlet或者基于Action的框架(如Struts)。 **四、数据库设计** 博客系统一般会包含用户表、文章表、评论表等。用户表存储...
- **动作标签(Action Tags)**:如`<jsp:include>`、`<jsp:forward>`和自定义标签,它们用于控制流程和调用其他资源。 **3. JSP生命周期** JSP的生命周期包括三个阶段:翻译、初始化和服务。 - **翻译**:服务器将...
2. **Action转发与Include:** Action通过`execute()`方法处理完请求后,可以使用`ActionForward`将控制权转向其他JSP页面。 3. **国际化与本地化:** Struts支持资源文件,方便实现多语言的JSP页面。 4. **标签库...
本教程的"PPT"部分可能涵盖了JSP的基础知识,如JSP语法、EL和JSTL的使用,以及Struts框架的配置、ActionForm、Action和标签库的实战应用。通过学习"ch9.ppt"和"ch8.ppt",你可以深入理解JSP和Struts如何协同工作,...
- **日志展示**:JSP页面展示日志记录,可能通过遍历从Action传递过来的日志数据,使用循环和条件判断等JSP语法显示不同级别的日志条目。 - **分页与搜索**:如果日志量大,JSP页面可能需要实现分页功能,同时提供...
Struts 2 标签库(文档手册) Tags-API-CLSW-JSP <%@ taglib prefix="s" uri="/struts-tags" %> 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. <s:a href=""></s:a>-...
- **struts.properties**:该文件主要用于配置Struts2的全局属性,如默认使用的视图技术(如JSP或FreeMarker)等。 - **struts-default.xml**:这是Struts2框架提供的默认配置文件,包含了一些基本的拦截器和结果...
JSP(JavaServer Pages)与Struts是Java Web开发中的两个重要技术,它们常被结合使用构建高效、结构化的Web应用程序,特别是论坛(BBS)这类交互性强的系统。JSP是Java平台上的动态网页技术,而Struts则是一个基于...
根据提供的文件信息,我们可以归纳出以下关键知识点,主要聚焦于Struts2框架的学习与应用: ### Struts2框架概述 **Struts2** 是一个基于Java的开源Web应用程序框架,它继承了Struts1的优点,并引入了许多新特性,...
通过Struts2的配置,可以灵活地将Action与JSP关联,控制页面跳转。例如,使用`<s:form>`标签创建表单,`<s:textfield>`、`<s:submit>`等标签处理输入和提交,而`<s:property>`标签用于显示模型数据。Struts2的拦截器...
在Struts1.2中,ActionServlet作为控制器接收请求,调用Action类执行业务逻辑,并通过配置文件(struts-config.xml)定义请求与Action的映射关系。此外,Struts1.2还引入了Tiles框架,方便构建复杂的页面布局。 ...
2. **包含指令和脚本元素**:使用JSP指令如<jsp:include>、<jsp:useBean>等,以及脚本元素(Java表达式、脚本块)进行页面逻辑处理。 3. **EL表达式**:使用Expression Language简化获取模型数据的过程,增强页面...
### JSP Struts2 标签详解 #### 一、简介 Struts2是一个流行的Java Web框架,提供了丰富的标签库来简化开发流程。这些标签不仅能够帮助开发者减少代码量,提高开发效率,还具备强大的功能性和灵活性。本文将详细...
- **配置文件**(struts-config.xml或struts2的struts.xml):定义了Action类与URL的映射关系以及表单bean等配置。 - **ActionForm**:封装了请求参数,通常对应一个JavaBean。 - **Dispatcher Servlet**(Struts...
- **请求处理**:用户请求到达Struts的Controller(通常是`ActionServlet`),根据`struts-config.xml`配置找到对应的Action,Action处理请求后返回一个ActionForward,决定跳转到哪个JSP页面显示结果。 4. **...
**JSP-STRUTS 入门到精通** 在Web开发领域,JSP(JavaServer Pages)和STRUTS框架是两个重要的技术组件,它们一起为构建动态、交互式的Web应用提供了强大的支持。JSP是一种服务器端脚本语言,允许开发者在HTML页面...
### Struts2 使用手册 #### 一、Struts2 概述 Struts2作为一款流行的Web应用框架,是基于MVC(Model-View-Controller)设计模式的增强版本,它继承了Struts1.x的一些特性,并在此基础上进行了大量的改进与优化。...