Struts2重定向动作怎么配置
本文讲解"Struts2重定向动作如何配置",希望能够解决相关问题。
重定向结果类型调用标准的response.sendRedirect()方法,导致浏览器创建到给定位置的新请求。
我们可以在<result...>元素的主体中或作为<param name = "location">元素提供位置。重定向还支持parse参数。这是一个使用XML配置的示例
<action name = "hello" class = "com.tutorialspoint.struts2.HelloWorldAction" method = "execute"> <result name = "success" type = "redirect"> <param name = "location"> /NewWorld.jsp </param > </result></action>
因此,只需修改您的WebContent/WEB-INF/classes/struts.xml文件以定义上述重定向类型
<?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> <constant name = "struts.devMode" value = "true" /> <package name = "helloworld" extends = "struts-default"> <action name = "hello" class = "com.tutorialspoint.struts2.HelloWorldAction" method = "execute"> <result name = "success" type = "redirect"> <param name = "location"> /NewWorld.jsp </param > </result> </action> <action name = "index"> <result >/index.jsp</result> </action> </package></struts>
这里NewWorld.jsp是一个新页面,只要您的操作返回“成功”,您就会被重定向到该页面。让我们保持WebContent/WEB-INF/lib/web.xml不变,因此其内容如下
<?xml version = "1.0" Encoding = "UTF-8"?><web-app xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns:web = "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id = "WebApp_ID" version = "3.0"> <display-name>Struts 2</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping></web-app>
创建动作类文件Java Resources/src/HelloWorldAction.java如下
package com.tutorialspoint.struts2;import com.opensymphony.xwork2.ActionSupport;public class HelloWorldAction extends ActionSupport{ private String name; public String execute() throws Exception { return "success"; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
让我们使用以下内容创建主页WebContent/WEB-INF/index.jsp
<%@ page language = "java" contentType = "text/html; charset = ISO-8859-1" pageEncoding = "ISO-8859-1"%><%@ taglib prefix = "s" uri = "/struts-tags"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <title>Hello World</title> </head> <body> <h1>Hello World From Struts2</h1> <form action = "hello"> <label for = "name">Please enter your name</label><br/> <input type = "text" name = "name"/> <input type = "submit" value = "Say Hello"/> </form> </body></html>
让我们创建WebContent/WEB-INF/NewWorld.jsp,如果操作返回“成功”,请求将被重定向
<%@ page language = "java" contentType = "text/html; charset = ISO-8859-1" pageEncoding = "ISO-8859-1"%><%@ taglib prefix = "s" uri = "/struts-tags"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <title>Redirected Page</title> </head> <body> <h1>New Page after redirection</h1> </body></html>
现在右键单击项目名称,然后单击导出 > WAR 文件以创建一个 War 文件。然后在 Tomcat 的 webapps 目录中部署这个 WAR。最后,启动 Tomcat 服务器并尝试访问 URL http://localhost:8080/HelloWorldStruts2/index.action。这将为您提供以下屏幕
在文本框中输入任何值并提交页面。重定向后您应该会看到下一页
关于 "Struts2重定向动作如何配置" 就介绍到此。希望多多支持编程宝库。
本文讲解"Struts2的概念是什么",希望能够解决相关问题。Struts2是一个流行且成熟的基于MVC设计模式的 Web 应用程序框架。Struts2 不仅仅是 Struts 1 的新版本,它是对 Struts ...