12.Struts2重定向Action
来源:互联网 发布:王晓东算法视频 编辑:程序博客网 时间:2024/04/30 08:35
在这章中,你将熟悉一下Struts2重定向Action并学习如何在Struts2程序中使用它.
Post之后的重定向 : 该post模式由Struts2提供.这web程序中是常见的模式.由一个action转发到另一个action.这是常见的用法转发action显示页面.
转发Action结果 : 重定向模式由Struts2提供.ActionMapperFactory提供的ActionMapper用来转发浏览器到URL指定的Action.在下面的Struts2程序中你能看到一个简单的实现.
重定向动态参数 : Action重定向结果带有下面的参数
- actionName
- namespace
- method
- encode
- parse
- location
- prependServletContext
仿照下面的步骤创建一个重定向Action例子 :
第一步 : 创建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>
<!-- Rose India Struts 2 Tutorials -->
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<include file="struts-default.xml"/>
<package name="roseindia" namespace="/roseindia" extends="struts-default">
<!-- Redirect Action -->
<action name="showAjaxLoginCancelForm">
<result>/pages/ajaxloginCancel.jsp</result>
</action>
<action name="ajaxloginCancel" class="net.roseindia.Login">
<result name="input">/pages/ajaxloginCancel.jsp</result>
<result name="error">/pages/ajaxloginCancel.jsp</result>
<result name="cancel" type="redirect">/pages/ajaxloginCancel.jsp</result>
<result>/pages/ajaxloginsuccess.jsp</result>
</action>
<!-- Add actions here -->
</package>
<!-- Add packages here -->
</struts>
第二步 : 创建一个输入表单 : ajaxloginCancel.jsp
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<s:head theme="ajax" debug="true"/>
</head>
<body>
<s:div id="loginDiv" theme="ajax">
<div style="width: 300px;border-style: solid">
<s:form action="ajaxloginCancel" validate="true">
<tr>
<td colspan="2">
Login
</td>
</tr>
<tr>
<td colspan="2">
<s:actionerror />
<s:fielderror />
</td>
<s:textfield name="username" label="Login name"/>
<s:password name="password" label="Password"/>
<s:submit value="Submit" theme="ajax" targets="loginDiv" notifyTopics="/ajaxloginCancel"/>
<s:submit action="showAjaxLoginCancelForm" value="Cancel" onclick="form.onsubmit=null"/>
</s:form>
</div>
</s:div>
</body>
</html>
第三步 : 创建一个Action类 :Login.java
package net.roseindia;
import com.opensymphony.xwork2.ActionSupport;
import java.util.Date;
/**
* <p> Validate a user login. </p>
*/
public class Login extends ActionSupport {
public String execute() throws Exception {
if(!getUsername().equals("Admin") || !getPassword().equals("Admin")){
addActionError("Invalid user name or password! Please try again!");
return ERROR;
}
if(getUsername().equals("Admin") || getPassword().equals("Admin")){
return SUCCESS;
}else{
return NONE;
}
}
// ---- Username property ----
/**
* <p>Field to store User username.</p>
* <p/>
*/
private String username = null;
/**
* <p>Provide User username.</p>
*
* @return Returns the User username.
*/
public String getUsername() {
return username;
}
/**
* <p>Store new User username</p>
*
* @param value The username to set.
*/
public void setUsername(String value) {
username = value;
}
// ---- Username property ----
/**
* <p>Field to store User password.</p>
* <p/>
*/
private String password = null;
/**
* <p>Provide User password.</p>
*
* @return Returns the User password.
*/
public String getPassword() {
return password;
}
/**
* <p>Store new User password</p>
*
* @param value The password to set.
*/
public void setPassword(String value) {
password = value;
}
}
创建一个适当的校验器 :
validation.xml的格式要么是<Action名>-validation.xml或者<Aaction名>-<Action别名>-validation.xml.
Login-validation.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="username">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>Login name is required</message>
</field-validator>
</field>
<field name="password">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>Password is required</message>
</field-validator>
</field>
</validators>
当输入正确的用户名和密码,用户会得到ajaxloginsuccess.jsp页面显示的输入信息
<html>
<head>
<title>Login Success</title>
</head>
<body>
<p align="center"><font color="#000080" size="5">Login Successful !</font></p>
<h1> Welcome to <%=request.getParameter("username")%> </h1>
</body>
</html>
输出 :
当程序执行的时候你会看到如下 :
当你什么字段都不填并点击"Submit"的时候,你会得到 :
如果你点击"Cancel"按钮,那么重定向Action并执行得到 :
- 12.Struts2重定向Action
- struts2 action重定向
- struts2 action重定向action
- struts2重定向action 到另一个action
- struts2 result重定向到action
- Struts2 action重定向如何传递参数
- struts2(action重定向跳转到另一个action)
- struts2里action的转发和重定向
- struts2中重定向到Action代参数
- action重定向
- struts2 中不能从一个action转发到另一个action.但是可以重定向完成.
- 在struts2中的action使用session对象和action重定向
- struts2的action重定向到另外一个action,如何传参数?
- struts2 重定向 redirect
- struts2中 重定向
- Struts2重定向(redirect)
- struts2 转发/重定向
- struts2 重定向
- 从硬盘安装Fedora-10
- 分享.NET开发中经常用到的十大软件
- 《2008年度推荐陕西省优秀软件产品》名 单
- PHP收藏夹写入数据库
- c++ const
- 12.Struts2重定向Action
- 博科brocade SAN光纤交换机端口激活过程(新版)(装载)
- 权威解答495个最常遇到的C语言问题
- 分拆列值整理(1)
- google 对IE7 快捷搜索框的处理
- ITU601/656简介
- SQL语法大全-SQL常用命令使用方法
- Excel宏操作剪贴板
- 12.Struts 2 Redirect Action