Struts2 ActionForward与国际化实践
需积分: 10 138 浏览量
更新于2024-09-19
收藏 4KB TXT 举报
本文主要探讨了Struts2框架中的`ActionForward`以及如何实现国际化。
在Struts2框架中,`ActionForward`是一个关键组件,它用于定义一个Action执行后的跳转路径。默认情况下,`ActionForward`执行的是请求转发(request forwarding),也就是说,它会将请求直接传递给指定的页面,而不会改变浏览器的URL。如果希望实现重定向(redirect),即改变浏览器URL并重新发起请求,我们需要在`ActionForward`的配置中设置`redirect="true"`。例如:
```xml
<forward name="login" path="/login.jsp" redirect="true"/>
```
这段配置表示当Action执行完毕后,将重定向到`/login.jsp`页面。
在全局配置文件`struts-config.xml`中,可以定义全局的`ActionForwards`,这样在多个Action中都可以复用这些定义好的转发规则。如:
```xml
<global-forwards>
<forward name="login" path="/login.jsp" redirect="true"/>
</global-forwards>
```
这将使得所有Action都能通过`name="login"`来调用这个全局的重定向配置。
在Java代码中,我们也可以动态地创建和使用`ActionForward`。例如,根据请求参数动态构建页面路径:
```java
String page = request.getParameter("page");
ActionForward af = new ActionForward();
af.setPath("/page" + page + ".jsp?name=Tom");
return af;
```
这里的`setPath`方法用于设置页面路径,并且可以包含查询参数。返回这个`ActionForward`对象,Struts2就会按照设定的路径进行转发或重定向。
在`struts-config.xml`中,`<action>`标签用于配置Action的映射,`forward`属性则指定了Action执行后要转向的页面。例如:
```xml
<action path="/login1" forward="/login.jsp" />
```
这表示访问`/login1.do`时,将会转发到`/login.jsp`页面。而如果一个Action没有匹配的配置,可以设置`unknown="true"`,例如:
```xml
<action path="/testunknown" unknown="true" forward="/testunknown.jsp" />
```
这表示当请求的Action路径不明确时,系统会转向`/testunknown.jsp`页面。`unknown="true"`通常用于处理404错误页,提供一个友好的错误提示。
`ActionForward`在Struts2中扮演着连接Action和视图的重要角色,通过它可以灵活地控制请求的转发或重定向。同时,结合国际化(Internationalization,简称i18n)技术,可以实现多语言环境下的应用,提供不同地区的用户友好的界面。国际化主要涉及资源文件的使用,例如`message.properties`,在这些文件中存储各种语言版本的文本,然后在JSP或Action中通过特定的标签或方法引用,以适应不同地区的用户需求。
点击了解资源详情
点击了解资源详情
点击了解资源详情
131 浏览量
2019-07-29 上传
2010-07-28 上传
2014-06-10 上传
2019-03-05 上传
2011-06-07 上传

mrtangwei
- 粉丝: 0
最新资源
- 蒋宗礼教授详解编译原理课程:教材推荐与详细内容概览
- Matlab 6.5全面教程:集成平台与八大通用功能详解
- GPS导航系统接口规范IS-GPS-200D解读
- 埃里克·斯蒂文·雷蒙德的《Unix编程艺术》
- 超文本传输协议HTTP/1.1中文版详解
- Eclipse+MyEclipse集成教程:Struts+Spring+Hibernate实战示例
- MATLAB图像处理常用命令详解
- <项目名称>数据库设计说明书规范
- NAT穿透技术在P2P编程中的应用
- 君正JZ4730多媒体应用处理器数据手册
- 君正JZ4740详细数据手册:32位微处理器
- C语言教程:Ritchie & Kernighan经典第二版详解
- JBOSS EJB3.0 实例教程:从入门到精通
- TurboC++与C++Builder数据库开发教程: September 2006 更新
- BCB学习笔记:实例探索界面开发
- 编程精粹:打造无错C程序的微软技术