`

Struts2视图转发类型

阅读更多
 在Struts2中result的视图转发类型比较常用的有四种:dispathcher(默认值):服务器内部请求转发类型;  redirect:重定向到某个jsp文件;  redirectAction:重定向到某个action;  plainText:他主要用在输出页面源代码。
在struts.xml中配置如下:
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE struts PUBLIC
3 "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
4 "http://struts.apache.org/dtds/struts-2.0.dtd">
5
6 <struts>
7 <package name="lz" namespace="/control/employee" extends="struts-default">
8 <!-- 浏览器重定向到修改界面 -->
9 <action name="redirect" class="com.lz.action.UserName" method="execute">
10 <result name="success" type="redirect">/redirect.jsp?username=${Savepath}</result>
 
在web.xml中:
1 <?xml version="1.0" encoding="UTF-8"?>
2 <web-app version="2.4"
3 xmlns="http://java.sun.com/xml/ns/j2ee"
4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
6 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
7
8 <filter>
9 <filter-name>struts2</filter-name>
10 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
11 </filter>
12 <filter-mapping>
13 <filter-name>struts2</filter-name>
14 <url-pattern>/*</url-pattern>
15 </filter-mapping>
16
17 <welcome-file-list>
18 <welcome-file>index.jsp</welcome-file>
19 </welcome-file-list>
20 </web-app>
 
再定义一个UserName.java
1 package com.lz.action;
2
3 import java.net.URLEncoder;
4
5 public class UserName {
6 private String Savepath;
7
8 public void setSavepath(String savepath) {
9 Savepath = savepath;
10 }
11
12 public String getSavepath() {
13 return Savepath;
14 }
15
16 public String execute()throws Exception
17 {
18 Savepath=URLEncoder.encode("天下第一","utf-8");
19
20 return "success";
21 }
22
23 }
 页面代码:
<%@ page language="java" import="java.util.*,java.net.URLDecoder" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<title>redrect</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">

</head>

<body>
<%= URLDecoder.decode(new String(request.getParameter("username").getBytes("ISO8859-1"),"UTF-8"),"UTF-8") %><br/>
<%= URLDecoder.decode(new String(request.getParameter("username").getBytes("ISO8859-1"),"UTF-8"),"UTF-8")%>

</body>
</html>
这样,运行。页面上就会出现“天下第一”四个字。
 接下来是redirectAction类型。在struts.xml增加action标签。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd"
>

<struts>
<package name="lz" namespace="/control/employee" extends="struts-default">
  <action name="redirectAction" class="com.lz.action.UserName" method="execute">
<result name="success" type="redirectAction">/hello</result>
</action>
</package>
<package name="other" namespace="/control/department" extends="struts-default">
<action name="redirect">
<result>/index.jsp</result>
</action>
</package>
</struts>
 这样在浏览器中输入:http://localhost:8080/control/department/redirect.action就会跳到hello.jsp页面里。
 还有最后一种:plainText。他主要用在输出页面源代码。
如下所示:修改struts.xml文件。
 
<action name="plainText">
<result type="plainText">
<param name="location">/redirect.jsp</param>
<param name="charSet">UTF-8</param><!-- 制定读取文件的编码 -->
</result>
</action>
 
<%@ page language="java" import="java.util.*,java.net.URLDecoder" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<title>redrect</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">

</head>

<body>
你好!

</body>
</html>
 
 这样,就可以输出redirect.jsp的源码了。并且可以支持中文格式的了。
 
 
分享到:
评论

相关推荐

    Struts2--result配置的各种视图转发类型

    NULL 博文链接:https://huangminwen.iteye.com/blog/996219

    struts视频教程_result配置的各种视图转发类型

    esult配置的各种视图转发类型esult配置的各种视图转发类型esult配置的各种视图转发类型

    传智播客_result的各种视图转发类型及全局

    传智播客_result的各种视图转发类型及全局

    06result配置的各种视图转发类型

    Struts 2是Struts的下一代产品,是在 struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理...

    struts2 详解文档

    result配置的各种视图转发类型 为Action属性注入值 指定Struts 2处理的请求后缀 Struts 2的处理流程与Action的管理方式 为应用指定多个配置文件 动态方法调用和使用通配符定义action 请求参数接收 自定义...

    demo.zip_action

    struts详细的源码,有Action中result的各种转发类型,多个Action共享一个视图--全局result配置,为Action的属性注入值, 4.指定需要Struts 2处理的请求后缀等等。

    Struts in Action中文版

    2. 深入 STRUTS架构..................................................................................37 2.1. 随便谈谈......................................................................................

    struts in Action

    2. 深入STRUTS 架构..................................................................................37 2.1. 随便谈谈.......................................................................................

    java面试题

    答:在Struts2里面是将每次页面的请求进行处理,然后将请求需要输出的数据转发到需要做数据显示的页面。Struts2只是起到一个数据接收和转接的功能,就是Controller控制器,而传来数据的页面叫view显示层,Struts2将...

    Spring面试题

    Spring 框架的 IOC 容器采用类型 2 和类型3 实现。 面向方面的编程 面向方面的编程,即 AOP,是一种编程技术,它允许程序员对横切关注点或横切典型的职责分界线的行为(例如日志和事务管理)进行模块化。AOP 的...

    Java面试宝典2020修订版V1.0.1.doc

    3、列举javaScript的3种主要数据类型,2种复合数据类型和2种特殊数据类型。 24 4、谈谈你的JS的理解? 24 5、ajax的优点? 25 6、简述一下ajax调试代码查找错误的方法? 26 7、简述ajax中Js脚本缓存问题该如何解决?...

    JAVA面试题最全集

    9.Jsp和Servlet中的请求转发分别如何实现。 三、J2EE相关知识 1.介绍J2EE、J2SE、J2SE的区别。 2.J2EE是一种技术还是一种平台,他提供了那些技术。 3.什么是Application Server,它有什么功能和优点。 4.简单...

Global site tag (gtag.js) - Google Analytics