Struts2_Action中result的各种转发类型

来源:互联网 发布:plsql连接其他数据库 编辑:程序博客网 时间:2024/06/05 02:51

Action中result的各种转发类型:

<action name="helloworld" class="cn.itcast.action.HelloWorldAction"method="execute"><result name="success">/WEB-INF/page/hello.jsp</result></action>result配置类似于struts2中的forward,但struts2中提供了多种结果类型,常用的类型有:dispatche(默认值)、redirect、redirectAction、plainText。在result中还可以使用${属性名}表达式访问action中的属性,表达式里的属性名对应action中的属性。如下:<result type="redired">/view.jsp?id=${id}</result>下面是redirectAction结果类型的例子,如果重定向的action中同一个包下:<result type="redirectAction">helloworld</result>如果重定向的action在别的命名空间下:<result type="redirectAction"><param name="actionName">helloworld</param><param name="namespace">/test</param></result>plaintext:显示原始文件内容,例如:当我们需要原样显示jsp文件源代码的时候,我们可以使用此类型。<!-- plainText定各显示网页源代码 --><action name="plainText"><result type="plainText"><param name="location">/index.jsp</param><param name="charSet">UTF-8</param><!-- 指定读取文件的编码 --></result></action>

struts.xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts><package name="bese" extends="struts-default"><!-- 全局action视图 --><global-results><result name="message">/WEB-INF/page/msessage.jsp</result></global-results></package><package name="itcast" namespace="/test" extends="bese"><action name="list" class="cn.itcast.action.HelloWorldAction"method="execute"><result name="success" type="redirect">/employeeAdd.jsp?username=${username}</result></action><action name="message" class="cn.itcast.action.HelloWorldAction"method="add"></action><action name="addUI"><result>/WEB-INF/page/employeeAdd.jsp</result></action><!-- redirect重定向 --><action name="redirect"><result type="redirect">/employeeAdd.jsp</result></action><!-- redirectAction重定向(重定向action) --><!-- redirectAction重定向到包 --><action name="redirectAction"><!-- <result type="redirectAction">list</result> --><result type="redirectAction"><param name="actionName">xxx</param><param name="namespace">/department</param></result></action><!-- plainText定各显示网页源代码 --><action name="plainText"><result type="plainText"><param name="location">/index.jsp</param><param name="charSet">UTF-8</param><!-- 指定读取文件的编码 --></result></action></package><package name="other" namespace="/department" extends="bese"><action name="message" class="cn.itcast.action.HelloWorldAction"method="add"></action><action name="xxx"><result>/WEB-INF/page/hello.jsp</result></action></package></struts>
HelloWorldAction.java

package cn.itcast.action;import java.net.URLEncoder;public class HelloWorldAction {private String msg;private String username;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getMessage() {return msg;}public String execute() throws Exception {this.username = URLEncoder.encode("中国人民万岁", "utf-8");msg = "我的第一个struts2应用";return "success";}public String add() {return "message";}}

jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>My JSP 'msessage.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"></head><body>结果<br/></body></html>

<%@ 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>My JSP 'employeeAdd.jsp' starting page</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")%><form action="/xxx">姓名:<input type="text" name="xxxx" /></form></body></html>

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>My JSP 'employeeAdd.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"></head><body><form action="/xxx">姓名:<input type="text" name="xxxx" /></form></body></html>


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <base href="<%=basePath%>">        <title>My JSP 'index.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">-->  </head>    <body>    <%=new Date() %>中国  </body></html>



原创粉丝点击