相信在ssh2项目中首页都是需要调用action转向jsp页面迭代上一层传过来的List,Set等集合,这样问题就来了,在web.xml中,welcome-file是不能配置action的, 如
<welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list>
不能写成
<welcome-file-list> <welcome-file>indexAction</welcome-file> </welcome-file-list>
这样肯定报404错误
那么首页该怎样调用action呢,如 www.zhangruifeng.com 直接能访问 www.zhangruifeng.com/indexAction呢
很多web开发人员选择了jsp:forword的方式,在index.jsp采用jsp:forward跳转
<jsp:forward page="/indexAction" />
这样确实解决了问题,但笔者以为这种方式并不是很好下面介绍一种方式
就是在struts.xml中package标签下配置default-action-ref,例如
<package name="default" namespace="/" extends="struts-default"> <default-action-ref name="indexAction"></default-action-ref> <action name="indexAction" class="com.listAll" > <result name="success">index.jsp</result> </action> </package>
这样似乎能行,测试一下,问题又来了,怎么根本不起作用啊.我通过测试发现,还是调用了原来主页的index.jsp,indexAction丝毫没起作用
这个原因是系统默认web.xml中,如下面index.jsp是主页
<welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list>
于是笔者在web.xml中删除了上面那段代码,发现还是不行.因为系统会默认识别名字为index.jsp作为首页.有人说可以把index.jsp文件改个名字就可以了,这样确实可以,但我想到了另外一个比较好的办法,就是改web.xml中上面那段代码,改正这样.
<welcome-file-list> <welcome-file>test.jsp</welcome-file> </welcome-file-list>
这样系统找不到test.jsp主页,default-action-ref默认action将起到作用,这样就可以用www.zhangruifeng.com 直接能访问 www.zhangruifeng.com/indexAction了.
本文转自:http://blog.sina.com.cn/s/blog_62d3ddc00100z4vy.html
PS:个人觉得这位兄弟文章中有点问题,“有人说可以把index.jsp文件改个名字就可以了,这样确实可以,但我想到了另外一个比较好的办法,就是改web.xml中上面那段代码”这句话跟他实现的就是一个方法,不知道这位仁兄怎么想的。其实经过测试,Struts2如果发现你在web.xml中没有配置欢迎页面,那么本地又有一个index.jsp的文件,他同样能找到并且展示出来,如果本地没有这个index.jsp文件,那么此时才会重定向默认的action,在web.xml中配置一个不存在的欢迎也相当于给struts2一个假象而已。
相关推荐
Struts2是一个非常流行的Java Web框架,用于构建可维护性和可扩展性良好的企业级应用程序。在Web应用中,为了确保数据传输的安全性,通常会使用HTTPS协议,它基于SSL/TLS来加密通信,保护用户的隐私信息。Struts2...
在Struts2框架中,ActionError和ActionMessage是处理用户输入验证和错误反馈的重要组件,它们使得开发者能够优雅地管理应用程序中的错误信息和用户消息。 ActionError类是用来存储错误信息的,它继承自`java.lang....
Struts2、Spring和iBatis是Java Web开发中常用的三大框架,它们分别负责MVC模式中的动作控制、依赖注入和数据库操作。本教程将详细讲解如何整合这三大框架,并利用存储过程实现分页功能。 首先,让我们了解这三个...
5. **default-action-ref**:设置默认的action,当用户请求的路径没有明确的action时,会调用这个action。 6. **global-results** 和 **global-exception-mappings**:全局结果和异常映射可以应用于所有action,...
在Struts2的配置文件(struts.xml或struts-default.xml)中,我们需要开启JSON支持。可以通过以下配置实现: ```xml <constant name="struts.enable.SlashesInActionNames" value="true"/> <constant name="struts....
2. 配置Struts2:在`struts.xml`配置文件中启用文件上传功能,添加`<constant>`标签,设置`struts.multipart.parser`为`jakarta`。 3. 创建上传表单:在HTML或JSP页面上创建一个包含`<input type="file">`的表单,...
- **struts-default.xml**:这是Struts2框架提供的默认配置文件,包含了一些基本的拦截器和结果类型的定义。当开发者未在自己的`struts.xml`中指定某些配置时,默认会采用这些预定义的配置。 #### 二、struts.xml...
在Struts2中,处理Action类的结果通常会重定向到一个JSP页面或发送一个简单的文本响应。然而,在现代Web应用中,JSON(JavaScript Object Notation)格式的数据交换变得越来越普遍,因为它能轻松地在服务器和客户端...
在 Struts2 中,还可以配置默认的 Action,例如:<package ...><default-action-ref name="myDefaultAction"/>这时,我们可以在 struts.xml 文件中定义一个默认的 Action,例如:<action name="myDefaultAction" ...
-- include节点是struts2中组件化的方式 可以将每个功能模块独立到一个xml配置文件中 然后用include节点引用 --> <include file="struts-default.xml"> <!-- package提供了将多个Action组织为一个模块的方式 ...
Struts2通过不同的配置文件来组织这些设置,主要包括`struts.xml`、`struts-default.xml`、`struts-plugin.xml`以及`struts.properties`等。 #### 二、Struts2配置文件的作用及加载顺序 1. **加载顺序**: - `...
Struts2是JavaEE开发中的一个热门框架,用于构建企业级Web应用程序。它是一个基于MVC(Model-View-Controller)设计模式的框架,旨在简化Java Web应用的开发过程,提高代码的可维护性和可扩展性。在这个"JavaEE ...
在这个博客文章中,作者Balaschen分享了关于如何在Struts2项目中使用Struts2-layout进行页面布局的深入理解。通过这个扩展,开发者可以创建可重用的模板,从而提高代码的复用性和维护性,降低整体开发复杂度。 首先...
"struts-xml-package.zip" 文件包含了一个关于Struts2 `<package>` 节点配置的示例,这个节点是Struts2配置中的关键组成部分。 首先,让我们理解 `<package>` 节点的作用。在Struts2的配置中,`<package>` 是一个...
`struts-plugin.xml`中需要引入`struts2-upload-plugin-2.x.x.jar`,该插件提供了文件上传的配置和处理逻辑。 4. **配置文件**:在`struts.xml`或`struts-default.xml`中,需要配置`params interceptor`和`...
现在,当用户访问匹配Action的URL时,Struts2框架会解析`struts.xml`文件中的配置,执行对应的Action,然后根据结果类型返回相应的视图。你可以在此基础上扩展配置,比如添加更多的Action、结果类型、拦截器,以满足...
Struts2是一个强大的Java web应用程序框架,它基于MVC(Model-View-...在Struts2_Interceptor目录中的文件可能包含了更多关于Struts2拦截器的详细信息和示例,这些都可以帮助你进一步理解和掌握Struts2的拦截器机制。
**配置Struts2**:在struts.xml中,不再直接实例化Action类,而是使用Spring提供的`<action>`标签,通过`class`属性指定Action类的全限定名,同时添加`spring`插件的配置,如`namespace="/struts"`和`default-action...
2. 配置struts.xml:在`struts.xml`配置文件中,启用文件上传,设置`struts.multipart.saveDir`属性指定临时文件保存位置,并配置相应的action接收文件。 ```xml <constant name="struts.multipart.saveDir" value=...
`<package>`节点是Struts2配置文件中的一个非常重要的组成部分,它用于组织相关的配置项,如Action的定义、拦截器的配置以及结果类型的设定等。`<package>`节点可以包含以下子节点: 1. **`<action>`** - 定义一个...